---
Fuzzer filename: "DeserializeCollectionsFuzzer"
Fuzzing method: "fuzzerTestOneInput"
All functions:
  Function list name: "All functions"
  Elements:
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:34,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].addWrittenObject(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:41,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:42,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].getWrittenId(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ListReferenceResolver:47"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ListReferenceResolver:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ListReferenceResolver:48"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ListReferenceResolver:47"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ListReferenceResolver:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:47,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:48,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].nextReadId(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:53,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:54,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].setReadObject(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].set(int,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:59,1"
      Dst: "[java.util.ArrayList].set(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].getReadObject(java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:63,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].clear()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:67,1"
      Dst: "[java.util.ArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ListReferenceResolver].useReferences(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ListReferenceResolver"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    functionUses: 4
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ListReferenceResolver:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ListReferenceResolver:71"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.ListReferenceResolver:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ListReferenceResolver:71"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:72,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.ListReferenceResolver:72,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:129"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 9
  - functionName: "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:135"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:135"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:136,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:59,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class,java.lang.Class)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:64,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Class].newInstance()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 42
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:72,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:72,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:80,1"
      Dst: "[java.lang.Class].newInstance()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:86,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:86,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:86,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory:86,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isArray()"
    - "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.Class].isPrimitive()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.StringBuilder)"
    functionUses: 30
    ICount: 33
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:178"
        BranchSideFuncs:
        - "isArray()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:177"
        BranchSideFuncs:
        - "isArray()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:178"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:185"
        BranchSideFuncs:
        - "<init>(int)"
        - "getElementClass(java.lang.Class)"
        - "getDimensionCount(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:184"
        BranchSideFuncs:
        - "isPrimitive()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:181"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:182"
        BranchSideFuncs:
        - "className(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:187"
        BranchSideFuncs:
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:189"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:178,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.util.Util:179,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:180,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.Util:181,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:182,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:183,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:183,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.StringBuilder)"
    - Src: "com.esotericsoftware.kryo.util.Util:185,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.util.Util:188,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Util:190,1"
      Dst: "[java.lang.Class].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 12
  - functionName: "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getComponentType()"
    functionUses: 4
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:248"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:250"
        BranchSideFuncs:
        - "getComponentType()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:249"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:248,1"
      Dst: "[java.lang.Class].getComponentType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getComponentType()"
    functionUses: 3
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:238"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:242"
        BranchSideFuncs:
        - "getComponentType()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:241"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:237,1"
      Dst: "[java.lang.Class].getComponentType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Pool$3].<init>(com.esotericsoftware.kryo.util.Pool,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$3"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.util.Pool"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayDeque].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$3:63,1"
      Dst: "[java.util.ArrayDeque].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$3].offer(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$3"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayDeque].size()"
    - "[java.util.ArrayDeque].offer(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Pool$3:65"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$3:66"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$3:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$3:65,1"
      Dst: "[java.util.ArrayDeque].size()"
    - Src: "com.esotericsoftware.kryo.util.Pool$3:66,1"
      Dst: "[java.util.ArrayDeque].offer(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:521,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:525"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:526"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:525"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:525,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 28
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:36,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:530"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:531"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:530"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:531"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:532"
        BranchSideFuncs:
        - "findNextIndex()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:531"
        BranchSideFuncs:
        - "findNextIndex()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:530,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:531,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:534,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator"
    linkageType: ""
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:419"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:425"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:424"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:420"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:418"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:417"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].toList()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].toList(java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:544,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:544,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].toList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].toList(java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:549"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:551"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:550"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:550,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].next()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:550,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:519,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    functionUses: 0
    ICount: 43
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:430"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:431"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:430"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:435"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:444"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:443"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:437"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:442"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:441"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:446"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:430,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:436,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[com.esotericsoftware.asm.Type:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.AttributeValue:java.awt.BasicStroke:java.awt.BufferCapabilities$FlipContents:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Object:java.lang.Package:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.sql.Timestamp:java.text.AttributedCharacterIterator$Attribute:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormatSymbols:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.MonthDay:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.Year:java.time.YearMonth:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractMap$SimpleImmutableEntry:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.zip.ZipEntry:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.crypto.spec.SecretKeySpec:javax.security.auth.Subject:jdk.internal.misc.Signal:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 2
    ICount: 9
    EdgeCount: 26
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:123,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys:519,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:414,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:221,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getFloat(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:226,1"
      Dst: "[java.lang.reflect.Field].getFloat(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:226,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:228,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:229,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:229,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.Float].floatToIntBits(float)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:606,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:610,1"
      Dst: "[java.lang.Float].floatToIntBits(float)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 50
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:180"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:180"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:182"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:183"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:189"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:188"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:186"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:185"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:190"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:191"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:190"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:181,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    - Src: "com.esotericsoftware.kryo.io.Output:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:185,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:191,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:194,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].flush()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].write(byte[],int,int)"
    - "[java.io.OutputStream].flush()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:206"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:205"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:206,1"
      Dst: "[java.io.OutputStream].write(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:207,1"
      Dst: "[java.io.OutputStream].flush()"
    - Src: "com.esotericsoftware.kryo.io.Output:209,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    functionUses: 25
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:40,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferOverflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferOverflowException:35,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuffer].<init>(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    functionUses: 15
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.KryoException:56"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.KryoException:57"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.KryoException:56"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.KryoException:57"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.KryoException:58"
        BranchSideFuncs:
        - "append(char)"
        - "append(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.KryoException:57"
        BranchSideFuncs:
        - "append(char)"
        - "append(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:56,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.KryoException:57,1"
      Dst: "[java.lang.StringBuffer].<init>(int)"
    - Src: "com.esotericsoftware.kryo.KryoException:58,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "com.esotericsoftware.kryo.KryoException:59,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField"
    linkageType: ""
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    - "[java.lang.reflect.Field].setFloat(java.lang.Object,float)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:236,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:236,1"
      Dst: "[java.lang.reflect.Field].setFloat(java.lang.Object,float)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:238,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:239,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:239,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionDepth: 3
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 5
    ICount: 33
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:735,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:739,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 195
    functionLinenumberEnd: 229
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.InputChunked].fill(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 46
    ICount: 58
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:197"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:198"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:197"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:201"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:202"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:213"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:212"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:205"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:204"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:206"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:213"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:212"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:223"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:222"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:220"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:221"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:220"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:224"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:217"
        BranchSideFuncs:
        - "fill(byte[],int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:198,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:198,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:203,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:204,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:213,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionDepth: 1
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[],int,int)"
    - "[java.util.jar.Manifest$FastInputStream].read(byte[],int,int)"
    - "[java.io.BufferedInputStream].read(byte[],int,int)"
    - "[java.io.FilterInputStream].read(byte[],int,int)"
    - "[org.objenesis.instantiator.basic.ObjectInputStreamInstantiator$MockStream].read(byte[],int,int)"
    - "[java.util.zip.ZipInputStream].read(byte[],int,int)"
    - "[java.io.ByteArrayInputStream].read(byte[],int,int)"
    - "[java.io.InputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$BlockDataInputStream].read(byte[],int,int)"
    - "[javax.crypto.CipherInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream].read(byte[],int,int)"
    - "[java.io.DataInputStream].read(byte[],int,int)"
    - "[java.util.jar.JarInputStream].read(byte[],int,int)"
    - "[java.io.FileInputStream].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInputStream].read(byte[],int,int)"
    - "[java.util.zip.InflaterInputStream].read(byte[],int,int)"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].read(byte[],int,int)"
    - "[java.io.InputStream$1].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$PeekInputStream].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 15
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:184"
        BranchSideFuncs:
        - "read(byte[],int,int)"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:183"
        BranchSideFuncs:
        - "read(byte[],int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:184,1"
      Dst: "[java.io.InputStream].read(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:186,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException:35,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getFloat(java.lang.Object)"
    - "[java.lang.reflect.Field].setFloat(java.lang.Object,float)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:246,1"
      Dst: "[java.lang.reflect.Field].getFloat(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:246,1"
      Dst: "[java.lang.reflect.Field].setFloat(java.lang.Object,float)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:248,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:249,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField:249,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField"
    linkageType: ""
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:365,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getChar(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:370,1"
      Dst: "[java.lang.reflect.Field].getChar(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:370,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:372,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:373,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:373,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:667,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField"
    linkageType: ""
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    - "[java.lang.reflect.Field].setChar(java.lang.Object,char)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:380,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:380,1"
      Dst: "[java.lang.reflect.Field].setChar(java.lang.Object,char)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:382,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:383,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:383,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readChar()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionDepth: 3
    returnType: "char"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:795,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getChar(java.lang.Object)"
    - "[java.lang.reflect.Field].setChar(java.lang.Object,char)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:390,1"
      Dst: "[java.lang.reflect.Field].getChar(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:390,1"
      Dst: "[java.lang.reflect.Field].setChar(java.lang.Object,char)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:392,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:393,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField:393,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:38,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:44,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:51,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].<init>(com.esotericsoftware.kryo.util.IdentityMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IdentityMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:56,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    functionUses: 7
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:60,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    functionUses: 6
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:67"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:66"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:67"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:63"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:64,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:74"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:75"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:74"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:75"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:71"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:72,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].locateKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    functionUses: 2
    ICount: 19
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:80"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:81"
        BranchSideFuncs:
        - "place(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:80"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:85"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:84"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:85"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:80"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:80,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:82,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityMap"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[com.esotericsoftware.asm.Type:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.AttributeValue:java.awt.BasicStroke:java.awt.BufferCapabilities$FlipContents:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Object:java.lang.Package:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.sql.Timestamp:java.text.AttributedCharacterIterator$Attribute:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormatSymbols:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.MonthDay:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.Year:java.time.YearMonth:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractMap$SimpleImmutableEntry:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.zip.ZipEntry:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.crypto.spec.SecretKeySpec:javax.security.auth.Subject:jdk.internal.misc.Signal:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 10
    ICount: 18
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:93"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:101"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:100"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:90"
        BranchSideFuncs:
        - "identityHashCode(java.lang.Object)"
        - "hashCode()"
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:89"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityMap:98"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityMap:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:96,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.IdentityMap:98,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:34,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Object,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:38,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField].set(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:42,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.AsmField,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:47,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:47,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:47,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:49,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:49,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.AsmField,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:49,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField:52,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:970"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:971"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:970"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:971"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:972"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:971"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:974"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:975"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:974"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:976"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:978"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:977"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:988"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:975"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:974"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:978"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:980"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:979"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:980"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:983"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:982"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:984"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:985"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:984"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:985"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:985"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:986"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:985"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:985"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:986"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:985"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:988"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:986"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:985"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:988"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:989"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:988"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:974,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:975,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:988,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:981,1"
      Dst: "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:983,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:983,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:983,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:984,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:985,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 27
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:71,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    functionUses: 1
    ICount: 31
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:85"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:84"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:86"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:85"
        BranchSideFuncs:
        - "tableSize(int,float)"
        - "numberOfLeadingZeros(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:83,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:85,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:85,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:88,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:91,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].ceil(double)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].nextPowerOfTwo(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 5
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:433"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:434"
        BranchSideFuncs:
        - "ceil(double)"
        - "<init>(java.lang.String)"
        - "max(int,int)"
        - "nextPowerOfTwo(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:433"
        BranchSideFuncs:
        - "ceil(double)"
        - "<init>(java.lang.String)"
        - "max(int,int)"
        - "nextPowerOfTwo(int)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:435"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:436"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:435"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:433,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:433,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:434,1"
      Dst: "[java.lang.Math].ceil(double)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:434,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:434,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].nextPowerOfTwo(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].nextPowerOfTwo(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:440"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 952
    functionLinenumberEnd: 966
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].clear(int)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].reset()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].reset()"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].reset()"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].reset()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.ClassResolver].reset()"
    - "[com.esotericsoftware.kryo.ReferenceResolver].reset()"
    functionUses: 20
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:954"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:955"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:954"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:956"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:961"
        BranchSideFuncs:
        - "reset()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:960"
        BranchSideFuncs:
        - "clear(int)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:962"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:963"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:964"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:965"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:964"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:954,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].clear(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:955,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:957,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:964,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].clear(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].clear()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:238"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:242"
        BranchSideFuncs:
        - "clear()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:241"
        BranchSideFuncs:
        - "resize(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:237,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:239,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].clear()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:243,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:247"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:248"
        BranchSideFuncs:
        - "fill(java.lang.Object[],java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:247"
        BranchSideFuncs:
        - "fill(java.lang.Object[],java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:249,1"
      Dst: "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 324
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].putResize(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 32
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:317"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:323"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:318"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:323"
        BranchSideFuncs:
        - "putResize(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:320"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:317"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:309,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:320,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].putResize(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].putResize(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:166"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:164"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:163"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:165,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[com.esotericsoftware.asm.Type:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.AttributeValue:java.awt.BasicStroke:java.awt.BufferCapabilities$FlipContents:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Object:java.lang.Package:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.sql.Timestamp:java.text.AttributedCharacterIterator$Attribute:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormatSymbols:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.MonthDay:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.Year:java.time.YearMonth:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractMap$SimpleImmutableEntry:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.zip.ZipEntry:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.crypto.spec.SecretKeySpec:javax.security.auth.Subject:jdk.internal.misc.Signal:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 4
    ICount: 9
    EdgeCount: 26
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:120,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    functionUses: 7
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:601,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:601,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].isProxy(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Class].isEnum()"
    - "[java.lang.Class].getSuperclass()"
    - "[com.esotericsoftware.kryo.Kryo].isClosure(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].unregisteredClassMessage(java.lang.Class)"
    - "[com.esotericsoftware.minlog.Log].warn(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].registerImplicit(java.lang.Class)"
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.ClassResolver].registerImplicit(java.lang.Class)"
    functionUses: 8
    ICount: 55
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:557"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:558"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:560"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:584"
        BranchSideFuncs:
        - "isProxy(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:583"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:561"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:563"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:564"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:564"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:564"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:568"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:569"
        BranchSideFuncs:
        - "isEnum()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:568"
        BranchSideFuncs:
        - "isEnum()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:569"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:567"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:566"
        BranchSideFuncs:
        - "getSuperclass()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:574"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:576"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:575"
        BranchSideFuncs:
        - "isClosure(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:576"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:578"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:577"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:578"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:584"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:583"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:579"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:580"
        BranchSideFuncs:
        - "unregisteredClassMessage(java.lang.Class)"
        - "warn(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:579"
        BranchSideFuncs:
        - "unregisteredClassMessage(java.lang.Class)"
        - "warn(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:580"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:581"
        BranchSideFuncs:
        - "registerImplicit(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:580"
        BranchSideFuncs:
        - "registerImplicit(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:580"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:581"
        BranchSideFuncs:
        - "registerImplicit(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:580"
        BranchSideFuncs:
        - "registerImplicit(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:557,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:559,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:561,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isProxy(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:563,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:564,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "com.esotericsoftware.kryo.Kryo:564,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:567,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "com.esotericsoftware.kryo.Kryo:576,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isClosure(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:579,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].unregisteredClassMessage(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:580,1"
      Dst: "[com.esotericsoftware.minlog.Log].warn(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:581,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].registerImplicit(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 24
    CyclomaticComplexity: 13
  - functionName: "[com.esotericsoftware.kryo.Kryo].isProxy(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.reflect.Proxy].isProxyClass(java.lang.Class)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1272"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1273"
        BranchSideFuncs:
        - "isProxyClass(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1272"
        BranchSideFuncs:
        - "isProxyClass(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1272,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1273,1"
      Dst: "[java.lang.reflect.Proxy].isProxyClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].isClosure(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.Class].isSynthetic()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1262"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1263"
        BranchSideFuncs:
        - "isSynthetic()"
        - "getName()"
        - "indexOf(int)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1262"
        BranchSideFuncs:
        - "isSynthetic()"
        - "getName()"
        - "indexOf(int)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1263"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1262"
        BranchSideFuncs:
        - "isSynthetic()"
        - "getName()"
        - "indexOf(int)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1263"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1262"
        BranchSideFuncs:
        - "isSynthetic()"
        - "getName()"
        - "indexOf(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1262,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1263,1"
      Dst: "[java.lang.Class].isSynthetic()"
    - Src: "com.esotericsoftware.kryo.Kryo:1263,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.Kryo:1263,1"
      Dst: "[java.lang.String].indexOf(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.Kryo].unregisteredClassMessage(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].canonicalName(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:588,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:589,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].canonicalName(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:589,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].canonicalName(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getCanonicalName()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:206"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:207"
        BranchSideFuncs:
        - "getCanonicalName()"
        - "className(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:206"
        BranchSideFuncs:
        - "getCanonicalName()"
        - "className(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:208"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:206"
        BranchSideFuncs:
        - "getCanonicalName()"
        - "className(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:207,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "com.esotericsoftware.kryo.util.Util:208,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 935
    functionLinenumberEnd: 947
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].pop()"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].setReadObject(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].setReadObject(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].setReadObject(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].setReadObject(int,java.lang.Object)"
    functionUses: 15
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:936"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:942"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:941"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:937"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:946"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:945"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:938"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:939"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:938"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:942"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:946"
        BranchSideFuncs:
        - "pop()"
        - "setReadObject(int,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:945"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:942"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:946"
        BranchSideFuncs:
        - "pop()"
        - "setReadObject(int,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:945"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:944"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:945"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:938,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:939,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:943,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].pop()"
    - Src: "com.esotericsoftware.kryo.Kryo:944,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].setReadObject(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    functionUses: 6
    ICount: 26
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:139"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:144"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:143"
        BranchSideFuncs:
        - "resize(int)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:138,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:147,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    functionUses: 2
    ICount: 20
    EdgeCount: 204
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:127"
        BranchSideFuncs:
        - "place(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:126"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:131"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:130"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:131"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:126"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:126,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:128,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:131,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].pop()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 9
    ICount: 28
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:145"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:144"
        BranchSideFuncs:
        - "isPrimitive()"
        - "isWrapperClass(java.lang.Class)"
        - "getClass()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:142"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:143"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:142"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:146"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:147"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:146"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:146"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:147"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:146"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:146"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:149"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:148"
        BranchSideFuncs:
        - "string(java.lang.Object)"
        - "pos(int)"
        - "debug(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:142,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.util.Util:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:142,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:145,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.util.Util:146,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.util.Util:146,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:147,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.Util:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:149,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:153"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:152"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:153,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.Class].isArray()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 33
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:159"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:160"
        BranchSideFuncs:
        - "isArray()"
        - "getClass()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:159"
        BranchSideFuncs:
        - "isArray()"
        - "getClass()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:161"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:162"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:161"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:162"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:162"
        BranchSideFuncs:
        - "getDeclaringClass()"
        - "getMethod(java.lang.String,java.lang.Class[])"
        - "className(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:161"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:164"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:166"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "getDeclaringClass()"
        - "getMethod(java.lang.String,java.lang.Class[])"
        - "isArray()"
        - "length()"
        - "substring(int,int)"
        - "getClass()"
        - "className(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:165"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:169"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:168"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "getDeclaringClass()"
        - "getMethod(java.lang.String,java.lang.Class[])"
        - "isArray()"
        - "length()"
        - "substring(int,int)"
        - "getClass()"
        - "className(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:167"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:160,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.util.Util:161,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.util.Util:161,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:162,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Util:164,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.util.Util:164,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "com.esotericsoftware.kryo.util.Util:168,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.Util:168,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:169,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.util.Util:169,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.esotericsoftware.kryo.util.Util:169,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:171,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.IdentityHashMap].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:34,1"
      Dst: "[java.util.IdentityHashMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:35,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].addWrittenObject(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.IdentityHashMap].size()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:42,1"
      Dst: "[java.util.IdentityHashMap].size()"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:43,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:43,1"
      Dst: "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].getWrittenId(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].intValue()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:49"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:50"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:48,1"
      Dst: "[java.util.IdentityHashMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:50,1"
      Dst: "[java.lang.Integer].intValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].nextReadId(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:54,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:55,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].setReadObject(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].set(int,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:60,1"
      Dst: "[java.util.ArrayList].set(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].getReadObject(java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:64,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].clear()"
    - "[java.util.IdentityHashMap].clear()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:68,1"
      Dst: "[java.util.ArrayList].clear()"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:69,1"
      Dst: "[java.util.IdentityHashMap].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].useReferences(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.HashMapReferenceResolver"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    functionUses: 4
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:74"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:73"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:74"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:73"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:74,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.HashMapReferenceResolver:74,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:946,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: 947
    functionLinenumberEnd: 949
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:948,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: 951
    functionLinenumberEnd: 955
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    - "[java.util.AbstractCollection].toArray()"
    - "[java.util.LinkedList].toArray()"
    - "[sun.awt.util.IdentityArrayList].toArray()"
    - "[java.util.ArrayList].toArray()"
    - "[java.util.Vector].toArray()"
    - "[java.util.List].toArray()"
    functionUses: 13
    ICount: 11
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:953"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:954"
        BranchSideFuncs:
        - "toArray()"
        - "asList(java.lang.Object[])"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:953"
        BranchSideFuncs:
        - "toArray()"
        - "asList(java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:952,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:954,1"
      Dst: "[java.util.List].toArray()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:954,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].size()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[java.util.List].get(int)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:961"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:963"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:958,1"
      Dst: "[java.util.List].size()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:959,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:960,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:962,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:962,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:946,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer:946,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:258,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZonedDateTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.ZonedDateTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.ZonedDateTime].toLocalDate()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - "[java.time.ZonedDateTime].toLocalTime()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - "[java.time.ZonedDateTime].getZone()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:260,1"
      Dst: "[java.time.ZonedDateTime].toLocalDate()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:260,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:261,1"
      Dst: "[java.time.ZonedDateTime].toLocalTime()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:261,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:262,1"
      Dst: "[java.time.ZonedDateTime].getZone()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:262,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.LocalDate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.LocalDate].getYear()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - "[java.time.LocalDate].getMonthValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.time.LocalDate].getDayOfMonth()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:102,1"
      Dst: "[java.time.LocalDate].getYear()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:103,1"
      Dst: "[java.time.LocalDate].getMonthValue()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:104,1"
      Dst: "[java.time.LocalDate].getDayOfMonth()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:338"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:339"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:338"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:338,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.io.Output:339,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 113
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:349"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:350"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:349"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:350"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:355"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:354"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:351"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:352"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:351"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:355"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:363"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:362"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:363"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:373"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:372"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:373"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:384"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:383"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:351,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:322,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:251"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:252"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:251"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:251,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.LocalTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.LocalTime].getNano()"
    - "[java.time.LocalTime].getSecond()"
    - "[java.time.LocalTime].getMinute()"
    - "[java.time.LocalTime].getHour()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionUses: 0
    ICount: 38
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:138"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:152"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:151"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:139"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:147"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:146"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:143"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:138,1"
      Dst: "[java.time.LocalTime].getNano()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:139,1"
      Dst: "[java.time.LocalTime].getSecond()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:140,1"
      Dst: "[java.time.LocalTime].getMinute()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:141,1"
      Dst: "[java.time.LocalTime].getHour()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:141,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:155,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.ZoneId].getId()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:217,1"
      Dst: "[java.time.ZoneId].getId()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:217,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeAscii_slow(java.lang.String,int)"
    - "[java.lang.String].getBytes(int,int,byte[],int)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarIntFlag(boolean,int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeUtf8_slow(java.lang.String,int,int)"
    functionUses: 0
    ICount: 66
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:689"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:693"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:692"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:700"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:699"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:700"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:712"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:711"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:700"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:712"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:711"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:701"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:703"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:702"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:702"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:701"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:700"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:703"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:706"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:705"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:714"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:729"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:720"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:721"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:720"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:723"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:727"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:726"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:730"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:731"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:730"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:690,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:693,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.Output:702,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:704,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeAscii_slow(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:706,1"
      Dst: "[java.lang.String].getBytes(int,int,byte[],int)"
    - Src: "com.esotericsoftware.kryo.io.Output:712,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarIntFlag(boolean,int,boolean)"
    - Src: "com.esotericsoftware.kryo.io.Output:730,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeUtf8_slow(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 26
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeAscii_slow(java.lang.String,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.String].getBytes(int,int,byte[],int)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:783"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:784"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:783"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:784"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:785"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:784"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:788"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:795"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:794"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:793"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:787"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:784,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:787,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:789,1"
      Dst: "[java.lang.String].getBytes(int,int,byte[],int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeVarIntFlag(boolean,int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "boolean"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 116
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:401"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:402"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:401"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:402"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:402"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:401"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:403"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:408"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:407"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:404"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:405"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:404"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:408"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:416"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:415"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:416"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:426"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:425"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:426"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:437"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:436"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:404,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeUtf8_slow(java.lang.String,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.String].charAt(int)"
    functionUses: 0
    ICount: 79
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:764"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:780"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:779"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:765"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:766"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:765"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:767"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:769"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:775"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:774"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:776"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:777"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:776"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:765,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:765,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:766,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer"
    linkageType: ""
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionDepth: 7
    returnType: "java.time.ZonedDateTime"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[java.time.ZonedDateTime].of(java.time.LocalDate,java.time.LocalTime,java.time.ZoneId)"
    functionUses: 13
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:266,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:267,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:268,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:269,1"
      Dst: "[java.time.ZonedDateTime].of(java.time.LocalDate,java.time.LocalTime,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionDepth: 6
    returnType: "java.time.LocalDate"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.time.LocalDate].of(int,int,int)"
    functionUses: 4
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:112,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:113,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:115,1"
      Dst: "[java.time.LocalDate].of(int,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionDepth: 5
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 14
    ICount: 8
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:433"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:434"
        BranchSideFuncs:
        - "readInt()"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:433"
        BranchSideFuncs:
        - "readInt()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:433,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:434,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 446
    functionLinenumberEnd: 470
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 33
    ICount: 63
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:447"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:448"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:447"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:450"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:469"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:468"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:455"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:467"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:466"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:458"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:467"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:466"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:461"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:467"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:466"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:469"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:468"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:447,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:447,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt_slow(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarInt_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 1
    ICount: 81
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:476"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:497"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:496"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:477"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:478"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:477"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:481"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:497"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:496"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:482"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:483"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:482"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:485"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:497"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:496"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:486"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:487"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:486"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:489"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:497"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:496"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:490"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:491"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:490"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:497"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:496"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:477,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.Input].readInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 8
    ICount: 32
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:418,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readByte()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionDepth: 3
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 15
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:339"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:340"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:339"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:339,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionDepth: 6
    returnType: "java.time.LocalTime"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.time.LocalTime].of(int,int,int,int)"
    functionUses: 5
    ICount: 26
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:168"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:171"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:170"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:175"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:174"
        BranchSideFuncs:
        - "readByte()"
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:179"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:178"
        BranchSideFuncs:
        - "readInt(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:164,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:179,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:183,1"
      Dst: "[java.time.LocalTime].of(int,int,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionDepth: 6
    returnType: "java.time.ZoneId"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.time.ZoneId].of(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:225,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:226,1"
      Dst: "[java.time.ZoneId].of(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readString()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 814
    functionLinenumberEnd: 827
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.Input].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - "[com.esotericsoftware.kryo.io.Input].readUtf8Chars(int)"
    - "[java.lang.String].<init>(char[],int,int)"
    functionUses: 25
    ICount: 16
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:815"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:816"
        BranchSideFuncs:
        - "readVarIntFlag(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:815,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - Src: "com.esotericsoftware.kryo.io.Input:815,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readAsciiString()"
    - Src: "com.esotericsoftware.kryo.io.Input:817,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:825,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readUtf8Chars(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:826,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 4
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:520"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:521"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:520"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:521"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:520"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:520,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Input].readAsciiString()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 904
    functionLinenumberEnd: 920
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.String].<init>(char[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAscii_slow(int)"
    - "[com.esotericsoftware.kryo.io.Input].readAscii_slow(int)"
    functionUses: 2
    ICount: 33
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:909"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:918"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:917"
        BranchSideFuncs:
        - "readAscii_slow(int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:911"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:null"
        BranchSideFuncs:
        - "<init>(char[],int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:909,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:914,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:919,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readAscii_slow(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readAscii_slow(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 922
    functionLinenumberEnd: 940
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.String].<init>(char[],int,int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:926"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:927"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:926"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:928"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:null"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:934"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:938"
        BranchSideFuncs:
        - "<init>(char[],int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:937"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:926,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:930,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:936,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 4
    ICount: 62
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:527"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:528"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:527"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:530"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:549"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:548"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:535"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:547"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:546"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:538"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:547"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:546"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:541"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:547"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:546"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:549"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:548"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:527,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:527,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag_slow(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 553
    functionLinenumberEnd: 578
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 1
    ICount: 80
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:556"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:577"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:576"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:557"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:558"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:557"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:561"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:577"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:576"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:562"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:563"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:562"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:565"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:577"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:576"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:566"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:567"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:566"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:569"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:577"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:576"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:570"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:571"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:570"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:577"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:576"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:557,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.Input].readUtf8Chars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 850
    functionLinenumberEnd: 870
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars_slow(int,int)"
    - "[com.esotericsoftware.kryo.io.Input].readUtf8Chars_slow(int,int)"
    functionUses: 2
    ICount: 31
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:851"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:852"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:851"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:858"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:866"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:865"
        BranchSideFuncs:
        - "readUtf8Chars_slow(int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:860"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:864"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:863"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:868"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:869"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:868"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:856,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:856,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:868,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readUtf8Chars_slow(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.Input].readUtf8Chars_slow(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 871
    functionLinenumberEnd: 903
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 1
    ICount: 61
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:874"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:902"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:901"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:875"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:876"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:875"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:890"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:891"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:890"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:875,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZonedDateTime)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer:258,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZonedDateTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil$DirectBuffers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeUtil$DirectBuffers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil$DirectBuffers:95,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].<init>(java.lang.Class,java.lang.String,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:186"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:185"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:171,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:178,1"
      Dst: "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:179,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:180,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:183,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:184,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:184,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:184,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].name()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent"
    linkageType: ""
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].type()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].index()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].getValue(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:203,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:205,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:206,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:206,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent:206,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:273,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Year)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.Year"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Year].getValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:275,1"
      Dst: "[java.time.Year].getValue()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:275,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionDepth: 6
    returnType: "java.time.Year"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Year].of(int)"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    functionUses: 13
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:279,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:279,1"
      Dst: "[java.time.Year].of(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Year)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer:273,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Year)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:541,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap$Values:550"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Values:551"
        BranchSideFuncs:
        - "findNextIndex()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Values:550"
        BranchSideFuncs:
        - "findNextIndex()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:550,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:553,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].toList()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.ObjectMap$Values].toList(java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:563,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:563,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Values].toList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].toList(java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$Values].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap$Values:568"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Values:570"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Values:569"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:569,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:569,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:539,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Values].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Values:539,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeStringFuzzer].<init>()"
    functionSourceFile: "DeserializeStringFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "DeserializeStringFuzzer:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeStringFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "DeserializeStringFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Input].close()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "DeserializeStringFuzzer:30"
      Branch Sides:
      - BranchSide: "DeserializeStringFuzzer:33"
        BranchSideFuncs: []
      - BranchSide: "DeserializeStringFuzzer:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "DeserializeStringFuzzer:26,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].<init>()"
    - Src: "DeserializeStringFuzzer:27,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - Src: "DeserializeStringFuzzer:29,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - Src: "DeserializeStringFuzzer:29,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - Src: "DeserializeStringFuzzer:31,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - Src: "DeserializeStringFuzzer:33,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - Src: "DeserializeStringFuzzer:33,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - Src: "DeserializeStringFuzzer:35,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "DeserializeStringFuzzer:38,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ClassResolver,com.esotericsoftware.kryo.ReferenceResolver)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:168,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:168,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ClassResolver,com.esotericsoftware.kryo.ReferenceResolver)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.IntMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:34,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:39,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:40,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:75,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    functionUses: 2
    ICount: 31
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:89"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:90"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:89"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:89"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:91"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:90"
        BranchSideFuncs:
        - "tableSize(int,float)"
        - "numberOfLeadingZeros(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:88,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntMap:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:90,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:93,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:96,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ClassResolver,com.esotericsoftware.kryo.ReferenceResolver)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 250
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.ClassResolver"
    - "com.esotericsoftware.kryo.ReferenceResolver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].<init>()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getClassLoader()"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].<init>()"
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(int)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].<init>(com.esotericsoftware.kryo.Kryo)"
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - "[java.util.Collections].singletonList(java.lang.Object)"
    - "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    - "[java.util.Collections].singleton(java.lang.Object)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.String,java.lang.Class)"
    - "[java.util.ArrayList].size()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].<init>()"
    - "[com.esotericsoftware.kryo.ClassResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    functionUses: 1
    ICount: 143
    EdgeCount: 91
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:180"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:190"
        BranchSideFuncs:
        - "setKryo(com.esotericsoftware.kryo.Kryo)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:189"
        BranchSideFuncs:
        - "addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "singletonMap(java.lang.Object,java.lang.Object)"
        - "addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
        - "getClass()"
        - "singleton(java.lang.Object)"
        - "addDefaultSerializer(java.lang.Class,java.lang.Class)"
        - "singletonList(java.lang.Object)"
        - "asList(java.lang.Object[])"
        - "isClassAvailable(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:234"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:237"
        BranchSideFuncs:
        - "addDefaultSerializer(java.lang.String,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:236"
        BranchSideFuncs:
        - "register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "<init>()"
        - "size()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:178,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:139,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:140,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:145,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:145,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "com.esotericsoftware.kryo.Kryo:146,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:156,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:164,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultGenerics].<init>(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:179,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:182,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:186,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:190,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:212,1"
      Dst: "[java.util.Collections].singletonList(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:213,1"
      Dst: "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:214,1"
      Dst: "[java.util.Collections].singleton(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:225,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.Kryo:226,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:226,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.Kryo:227,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:228,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:230,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:231,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:232,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:234,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:235,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.String,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:237,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.Kryo:240,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:240,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.Kryo:241,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:242,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:243,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:244,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:245,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:246,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:247,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:248,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory:111,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory:112,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:399,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:39,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:45,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].<init>(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer:75,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].<init>(com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionUses: 13
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:273"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:274"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:273"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:274"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:275"
        BranchSideFuncs:
        - "<init>(com.esotericsoftware.kryo.Serializer)"
        - "insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:274"
        BranchSideFuncs:
        - "<init>(com.esotericsoftware.kryo.Serializer)"
        - "insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:273,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:275,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].<init>(com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.Kryo:275,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].<init>(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory:97,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.SerializerFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo$DefaultSerializerEntry].<init>(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    - "[java.util.ArrayList].add(int,java.lang.Object)"
    functionUses: 2
    ICount: 24
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:434"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:436"
        BranchSideFuncs:
        - "get(int)"
        - "isAssignableFrom(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:435"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
        - "<init>(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:435"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:433"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
        - "<init>(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:432"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:434,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.Kryo:435,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:435,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:436,1"
      Dst: "[com.esotericsoftware.kryo.Kryo$DefaultSerializerEntry].<init>(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    - Src: "com.esotericsoftware.kryo.Kryo:436,1"
      Dst: "[java.util.ArrayList].add(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.Kryo$DefaultSerializerEntry].<init>(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo$DefaultSerializerEntry"
    linkageType: ""
    functionLinenumber: 1310
    functionLinenumberEnd: 1315
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.SerializerFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo$DefaultSerializerEntry:1311,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:823,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 4
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:49,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:50,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:969,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers:38"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:39"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:38"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers:39"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:40"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:39"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers:40"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:41"
        BranchSideFuncs:
        - "isClassAvailable(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:40"
        BranchSideFuncs:
        - "isClassAvailable(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers:41"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:43"
        BranchSideFuncs:
        - "addDefaultSerializer(java.lang.Class,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers:38,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers:38,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].forName(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 20
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:78,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:81,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:81,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    functionUses: 1
    ICount: 44
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:51"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:52"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:51"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:52"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:53"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:52"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:53"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:54"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:53"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:54"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:55"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:54"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:55"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:57"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:56"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:57"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:58"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:57"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:58"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:59"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:58"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:59"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:60"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:59"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:62"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:61"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:62"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:64"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:63"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:65"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:64"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:65"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:66"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:65"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:67"
        BranchSideFuncs:
        - "addDefaultSerializer(java.lang.Class,java.lang.Class)"
        - "isClassAvailable(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:66"
        BranchSideFuncs:
        - "addDefaultSerializer(java.lang.Class,java.lang.Class)"
        - "isClassAvailable(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers:67"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:68"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers:51,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers:51,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 15
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:37"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:42"
        BranchSideFuncs:
        - "addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:37,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isClassAvailable(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:38,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:39,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:40,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Object].getClass()"
    - "[java.util.List].of()"
    - "[java.util.List].of(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.List].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractList:java.util.ArrayList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].subList(int,int)"
    - "[java.util.List].subList(int,int)"
    functionUses: 1
    ICount: 26
    EdgeCount: 23
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:85,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:86,1"
      Dst: "[java.util.List].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:86,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:86,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:87,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:87,1"
      Dst: "[java.util.List].of(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:88,1"
      Dst: "[java.util.List].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:89,1"
      Dst: "[java.util.List].subList(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:56,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Map].of()"
    - "[java.util.Map].of(java.lang.Object,java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Map].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:135,1"
      Dst: "[java.util.Map].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:135,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:135,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:136,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:136,1"
      Dst: "[java.util.Map].of(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:137,1"
      Dst: "[java.util.Map].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeysCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setValuesCanBeNull(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeysCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValuesCanBeNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:47,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:48,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeysCanBeNull(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValuesCanBeNull(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].addDefaultSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Set].of()"
    - "[java.util.Set].of(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Set].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:180,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:181,1"
      Dst: "[java.util.Set].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:181,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:182,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:182,1"
      Dst: "[java.util.Set].of(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:183,1"
      Dst: "[java.util.Set].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:150,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].setSerializer(com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - "[com.esotericsoftware.kryo.Kryo].getNextRegistrationId()"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].register(com.esotericsoftware.kryo.Registration)"
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.ClassResolver].register(com.esotericsoftware.kryo.Registration)"
    functionUses: 10
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:507"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:511"
        BranchSideFuncs:
        - "setSerializer(com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:510"
        BranchSideFuncs:
        - "getNextRegistrationId()"
        - "<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
        - "register(com.esotericsoftware.kryo.Registration)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:506,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:508,1"
      Dst: "[com.esotericsoftware.kryo.Registration].setSerializer(com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.Kryo:511,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getNextRegistrationId()"
    - Src: "com.esotericsoftware.kryo.Kryo:511,1"
      Dst: "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:511,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].register(com.esotericsoftware.kryo.Registration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].setSerializer(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Registration:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Registration:65"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "getName()"
        - "getClass()"
      - BranchSide: "com.esotericsoftware.kryo.Registration:64"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "getName()"
        - "getClass()"
    - Branch String: "com.esotericsoftware.kryo.Registration:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Registration:67"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Registration:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Registration:64,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Registration:66,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.Registration:66,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Registration:66,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Registration:66,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].getNextRegistrationId()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:545"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:549"
        BranchSideFuncs:
        - "getRegistration(int)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:548"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:546"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:547"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:546"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:546,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:549,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.util.Util].isAscii(java.lang.String)"
    functionUses: 2
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Registration:37"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Registration:38"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Registration:37"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Registration:38"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Registration:39"
        BranchSideFuncs:
        - "getName()"
        - "isAscii(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Registration:38"
        BranchSideFuncs:
        - "getName()"
        - "isAscii(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Registration:36,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.Registration:37,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Registration:42,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.Registration:42,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isAscii(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].isAscii(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:272"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:274"
        BranchSideFuncs:
        - "charAt(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:273"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:273"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:272"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:271"
        BranchSideFuncs:
        - "length()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:272,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.util.Util:273,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer:165,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer:167,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:84,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:114,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer"
    linkageType: ""
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:482"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:483"
        BranchSideFuncs:
        - "getDefaultSerializer(java.lang.Class)"
        - "register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:482"
        BranchSideFuncs:
        - "getDefaultSerializer(java.lang.Class)"
        - "register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:481,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:483,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:483,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].getDefaultSerializerForAnnotatedType(java.lang.Class)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].isSupported(java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].newDefaultSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory].isSupported(java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionUses: 2
    ICount: 29
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:443"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:444"
        BranchSideFuncs:
        - "getDefaultSerializerForAnnotatedType(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:446"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:447"
        BranchSideFuncs:
        - "size()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:448"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:454"
        BranchSideFuncs:
        - "get(int)"
        - "isAssignableFrom(java.lang.Class)"
        - "isSupported(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:453"
        BranchSideFuncs:
        - "newDefaultSerializer(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:450"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:448"
        BranchSideFuncs:
        - "newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:447"
        BranchSideFuncs:
        - "size()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:450"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:448"
        BranchSideFuncs:
        - "newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:447"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:443,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:445,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializerForAnnotatedType(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:448,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.Kryo:449,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:450,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:450,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory].isSupported(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:451,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:454,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newDefaultSerializer(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializerForAnnotatedType(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAnnotationPresent(java.lang.Class)"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].newFactory(java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.DefaultSerializer].serializerFactory()"
    - "[com.esotericsoftware.kryo.DefaultSerializer].value()"
    - "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionUses: 1
    ICount: 12
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:458"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:462"
        BranchSideFuncs:
        - "newFactory(java.lang.Class,java.lang.Class)"
        - "getAnnotation(java.lang.Class)"
        - "newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:461"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:458,1"
      Dst: "[java.lang.Class].isAnnotationPresent(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:459,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:460,1"
      Dst: "[com.esotericsoftware.kryo.DefaultSerializer].serializerFactory()"
    - Src: "com.esotericsoftware.kryo.Kryo:460,1"
      Dst: "[com.esotericsoftware.kryo.DefaultSerializer].value()"
    - Src: "com.esotericsoftware.kryo.Kryo:460,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].newFactory(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:460,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].newDefaultSerializer(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:469,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1141
    functionLinenumberEnd: 1152
    functionDepth: 7
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].reset()"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].reset()"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].reset()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].reset()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    functionUses: 1
    ICount: 25
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1144"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1143"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1148"
        BranchSideFuncs:
        - "reset()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1147"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1150"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1149"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1150"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1149"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1151"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1150"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1145,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:1149,1"
      Dst: "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:1150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:1150,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:42,1"
      Dst: "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:48,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:36,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:37,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:38,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:74,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    functionUses: 1
    ICount: 31
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:88"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:87"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:89"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:88"
        BranchSideFuncs:
        - "tableSize(int,float)"
        - "numberOfLeadingZeros(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:86,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:88,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:88,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:91,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:94,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.InputChunked].setBuffer(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:58,1"
      Dst: "[java.io.InputStream].<init>()"
    - Src: "com.esotericsoftware.kryo.io.Input:59,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:93"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:92,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterInputStream].close()"
    - "[java.io.FileInputStream].close()"
    - "[java.util.zip.ZipInputStream].close()"
    - "[com.esotericsoftware.kryo.io.Input].close()"
    - "[java.io.ObjectInputStream$PeekInputStream].close()"
    - "[javax.crypto.CipherInputStream].close()"
    - "[java.io.ByteArrayInputStream].close()"
    - "[java.io.InputStream$1].close()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].close()"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].close()"
    - "[java.util.zip.InflaterInputStream].close()"
    - "[java.io.ObjectInputStream$BlockDataInputStream].close()"
    - "[java.io.BufferedInputStream].close()"
    - "[java.io.InputStream].close()"
    - "[java.util.jar.Manifest$FastInputStream].close()"
    - "[java.io.ObjectInputStream].close()"
    functionUses: 7
    ICount: 8
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:327"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:332"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:329,1"
      Dst: "[java.io.InputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Util].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:37,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].isUnsafeAvailable()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 26
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:88"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:89"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:88"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:89"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:90"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:89"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:90"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:91"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:90"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:91"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:92"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:91"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:93"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:92"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:93"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:94"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:93"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:94"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:95"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:94"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:96"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:95"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].getPrimitiveClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:103"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:102"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:104"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:103"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:105"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:104"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:105"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:106"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:105"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:106"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:107"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:106"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:107"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:108"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:107"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:109"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:108"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:109"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:110"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:109"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:110"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:111"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:110"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].getArrayType(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:117"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:116"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:117"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:118"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:117"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:119"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:118"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:119"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:120"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:119"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:120"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:121"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:120"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:121"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:122"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:121"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:122"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:123"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:122"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:123"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:124"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:123"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:125"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
        - "getClass()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:126,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.util.Util:126,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].classNames(java.lang.Class[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:196"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:200"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:199"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:197"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:195,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.Util:197,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:198,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:200,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.Util].simpleName(java.lang.reflect.Type)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Type"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Object].toString()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:212"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:213"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:212"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:212,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Util:213,1"
      Dst: "[java.lang.Object].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].simpleName(java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Class].isArray()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].toString()"
    - "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 37
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:217"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:216"
        BranchSideFuncs:
        - "<init>(int)"
        - "getElementClass(java.lang.Class)"
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:227"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:226"
        BranchSideFuncs:
        - "isArray()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:225"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:224"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:222"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:227"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:231"
        BranchSideFuncs:
        - "getDimensionCount(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:230"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:228"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:230"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:217,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.Util:218,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.util.Util:218,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:218,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Util:218,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:220,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.Util:223,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].toString()"
    - Src: "com.esotericsoftware.kryo.util.Util:228,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:231,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 249
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.Class].isArray()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].toString()"
    - "[java.lang.Class].toString()"
    - "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Object].toString()"
    functionUses: 3
    ICount: 48
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:230"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:243"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "isArray()"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:242"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:233"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:231"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:230"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "isArray()"
        - "getSimpleName()"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:234"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:242"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:241"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:236"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:240"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:239"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:237"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:248"
        BranchSideFuncs:
        - "getDimensionCount(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:247"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:245"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:247"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:228,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:232,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:233,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:233,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:233,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:235,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:238,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].toString()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:243,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:245,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getDimensionCount(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:248,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.util.Util].isAssignableTo(java.lang.Class<?>,java.lang.Class<?>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].getPrimitiveWrapper(java.lang.Class)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.util.Util].isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
    - "[java.lang.Class].isInterface()"
    functionUses: 1
    ICount: 26
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:254"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:255"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:254"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Util:255"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:256"
        BranchSideFuncs:
        - "getPrimitiveWrapper(java.lang.Class)"
        - "isAssignableFrom(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:255"
        BranchSideFuncs:
        - "getPrimitiveWrapper(java.lang.Class)"
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:256"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:257"
        BranchSideFuncs:
        - "isPrimitive()"
        - "isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:256"
        BranchSideFuncs:
        - "isPrimitive()"
        - "isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:256"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:256"
        BranchSideFuncs:
        - "isPrimitive()"
        - "isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:255"
        BranchSideFuncs:
        - "getPrimitiveWrapper(java.lang.Class)"
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:256"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:256"
        BranchSideFuncs:
        - "isPrimitive()"
        - "isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:255"
        BranchSideFuncs:
        - "getPrimitiveWrapper(java.lang.Class)"
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.Util:257"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:258"
        BranchSideFuncs:
        - "isInterface()"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:257"
        BranchSideFuncs:
        - "isInterface()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:258"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:259"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:258"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:255,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:256,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.util.Util:256,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isPrimitiveWrapperOf(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:256,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getPrimitiveWrapper(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:258,1"
      Dst: "[java.lang.Class].isInterface()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.Util].isPrimitiveWrapperOf(java.lang.Class<?>,java.lang.Class<?>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].getPrimitiveWrapper(java.lang.Class)"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:263"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:262"
        BranchSideFuncs:
        - "getPrimitiveWrapper(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:263,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getPrimitiveWrapper(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Util].getPrimitiveWrapper(java.lang.Class<?>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionDepth: 0
    returnType: "java.lang.Class<?>"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].isPrimitive()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 2
    ICount: 10
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:268"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.Util:267"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:267,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.util.Util:267,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:268,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Util].newFactory(java.lang.Class<T>,java.lang.Class<?\
      \ extends Serializer>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Util"
    linkageType: ""
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.SerializerFactory"
    argCount: 2
    argTypes:
    - "java.lang.Class<T>"
    - "java.lang.Class<? extends Serializer>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Class].newInstance()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 28
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Util:281"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:286"
        BranchSideFuncs:
        - "newInstance()"
    - Branch String: "com.esotericsoftware.kryo.util.Util:289"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Util:292"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Util:291"
        BranchSideFuncs:
        - "getName()"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Util:283,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.util.Util:283,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.util.Util:287,1"
      Dst: "[java.lang.Class].newInstance()"
    - Src: "com.esotericsoftware.kryo.util.Util:290,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.util.Util:290,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Util:290,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.util.Util:293,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.Util:293,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].registerNatives()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].<init>()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getUnsafe()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "jdk.internal.misc.Unsafe"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getObject(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getBoolean(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putBoolean(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getChar(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "char"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getFloat(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "float"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getDouble(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getAddress(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[java.lang.Integer].toUnsignedLong(int)"
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:270"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:273"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:272"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:271,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:271,1"
      Dst: "[java.lang.Integer].toUnsignedLong(int)"
    - Src: "jdk.internal.misc.Unsafe:273,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putAddress(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:290"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:293"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:291,1"
      Dst: "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - Src: "jdk.internal.misc.Unsafe:293,1"
      Dst: "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getUncompressedObject(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getByte(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:319,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putByte(long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:331,1"
      Dst: "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getShort(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "short"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:337,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putShort(long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:343,1"
      Dst: "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getChar(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "char"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getChar(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:349,1"
      Dst: "[jdk.internal.misc.Unsafe].getChar(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putChar(long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putChar(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:355,1"
      Dst: "[jdk.internal.misc.Unsafe].putChar(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getInt(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:361,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putInt(long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:367,1"
      Dst: "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getLong(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:373,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putLong(long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:379,1"
      Dst: "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getFloat(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "float"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getFloat(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:385,1"
      Dst: "[jdk.internal.misc.Unsafe].getFloat(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putFloat(long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:391,1"
      Dst: "[jdk.internal.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getDouble(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getDouble(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:397,1"
      Dst: "[jdk.internal.misc.Unsafe].getDouble(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putDouble(long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:403,1"
      Dst: "[jdk.internal.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAddress(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getAddress(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:409,1"
      Dst: "[jdk.internal.misc.Unsafe].getAddress(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putAddress(long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putAddress(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:415,1"
      Dst: "[jdk.internal.misc.Unsafe].putAddress(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].invalidInput()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.RuntimeException"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:437,1"
      Dst: "[java.lang.IllegalArgumentException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].is32BitClean(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:448"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:447"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkSize(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].is32BitClean(long)"
    - "[jdk.internal.misc.Unsafe].invalidInput()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:460"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:464"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:462"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:468"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:467"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:465"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:468"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:467"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:462,1"
      Dst: "[jdk.internal.misc.Unsafe].is32BitClean(long)"
    - Src: "jdk.internal.misc.Unsafe:463,1"
      Dst: "[jdk.internal.misc.Unsafe].invalidInput()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkNativeAddress(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].invalidInput()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:479"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:487"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:484"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:488"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:487"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:485,1"
      Dst: "[jdk.internal.misc.Unsafe].invalidInput()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkOffset(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].is32BitClean(long)"
    - "[jdk.internal.misc.Unsafe].invalidInput()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:502"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:506"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:504"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:510"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:509"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:507"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:510"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:509"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:504,1"
      Dst: "[jdk.internal.misc.Unsafe].is32BitClean(long)"
    - Src: "jdk.internal.misc.Unsafe:505,1"
      Dst: "[jdk.internal.misc.Unsafe].invalidInput()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkNativeAddress(long)"
    - "[jdk.internal.misc.Unsafe].checkOffset(java.lang.Object,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:540"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:543"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:542"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:541,1"
      Dst: "[jdk.internal.misc.Unsafe].checkNativeAddress(long)"
    - Src: "jdk.internal.misc.Unsafe:543,1"
      Dst: "[jdk.internal.misc.Unsafe].checkOffset(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkPrimitiveArray(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getComponentType()"
    - "[java.lang.Class].isPrimitive()"
    - "[jdk.internal.misc.Unsafe].invalidInput()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:556"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:557"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:556"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:556"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:559"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:558"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:555,1"
      Dst: "[java.lang.Class].getComponentType()"
    - Src: "jdk.internal.misc.Unsafe:556,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "jdk.internal.misc.Unsafe:557,1"
      Dst: "[jdk.internal.misc.Unsafe].invalidInput()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    - "[java.lang.Object].getClass()"
    - "[jdk.internal.misc.Unsafe].checkPrimitiveArray(java.lang.Class)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:574"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:577"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:572,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:576,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "jdk.internal.misc.Unsafe:576,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPrimitiveArray(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].allocateMemory(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].allocateMemoryChecks(long)"
    - "[jdk.internal.misc.Unsafe].allocateMemory0(long)"
    - "[java.lang.OutOfMemoryError].<init>()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:610"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:614"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:613"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:615"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:619"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:618"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:608,1"
      Dst: "[jdk.internal.misc.Unsafe].allocateMemoryChecks(long)"
    - Src: "jdk.internal.misc.Unsafe:614,1"
      Dst: "[jdk.internal.misc.Unsafe].allocateMemory0(long)"
    - Src: "jdk.internal.misc.Unsafe:616,1"
      Dst: "[java.lang.OutOfMemoryError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].allocateMemoryChecks(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkSize(long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:631,1"
      Dst: "[jdk.internal.misc.Unsafe].checkSize(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].allocateMemory0(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].reallocateMemory(long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].reallocateMemoryChecks(long,long)"
    - "[jdk.internal.misc.Unsafe].freeMemory(long)"
    - "[jdk.internal.misc.Unsafe].allocateMemory0(long)"
    - "[jdk.internal.misc.Unsafe].reallocateMemory0(long,long)"
    - "[java.lang.OutOfMemoryError].<init>()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:663"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:668"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:667"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:668"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:668"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:667"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:669"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:673"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:672"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:661,1"
      Dst: "[jdk.internal.misc.Unsafe].reallocateMemoryChecks(long,long)"
    - Src: "jdk.internal.misc.Unsafe:664,1"
      Dst: "[jdk.internal.misc.Unsafe].freeMemory(long)"
    - Src: "jdk.internal.misc.Unsafe:668,1"
      Dst: "[jdk.internal.misc.Unsafe].allocateMemory0(long)"
    - Src: "jdk.internal.misc.Unsafe:668,1"
      Dst: "[jdk.internal.misc.Unsafe].reallocateMemory0(long,long)"
    - Src: "jdk.internal.misc.Unsafe:670,1"
      Dst: "[java.lang.OutOfMemoryError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].reallocateMemoryChecks(long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].checkSize(long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:685,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:686,1"
      Dst: "[jdk.internal.misc.Unsafe].checkSize(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].freeMemory(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].freeMemoryChecks(long)"
    - "[jdk.internal.misc.Unsafe].freeMemory0(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:902"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:906"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:905"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:900,1"
      Dst: "[jdk.internal.misc.Unsafe].freeMemoryChecks(long)"
    - Src: "jdk.internal.misc.Unsafe:906,1"
      Dst: "[jdk.internal.misc.Unsafe].freeMemory0(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].freeMemoryChecks(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:918,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPointer(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].freeMemory0(long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].reallocateMemory0(long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].setMemory(java.lang.Object,long,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].setMemoryChecks(java.lang.Object,long,long,byte)"
    - "[jdk.internal.misc.Unsafe].setMemory0(java.lang.Object,long,long,byte)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:720"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:724"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:723"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:718,1"
      Dst: "[jdk.internal.misc.Unsafe].setMemoryChecks(java.lang.Object,long,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:724,1"
      Dst: "[jdk.internal.misc.Unsafe].setMemory0(java.lang.Object,long,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].setMemoryChecks(java.lang.Object,long,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].checkSize(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:747,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:748,1"
      Dst: "[jdk.internal.misc.Unsafe].checkSize(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].setMemory0(java.lang.Object,long,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].setMemory(long,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].setMemory(java.lang.Object,long,long,byte)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:735,1"
      Dst: "[jdk.internal.misc.Unsafe].setMemory(java.lang.Object,long,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 5
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].copyMemoryChecks(java.lang.Object,long,java.lang.Object,long,long)"
    - "[jdk.internal.misc.Unsafe].copyMemory0(java.lang.Object,long,java.lang.Object,long,long)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:784"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:788"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:787"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:782,1"
      Dst: "[jdk.internal.misc.Unsafe].copyMemoryChecks(java.lang.Object,long,java.lang.Object,long,long)"
    - Src: "jdk.internal.misc.Unsafe:788,1"
      Dst: "[jdk.internal.misc.Unsafe].copyMemory0(java.lang.Object,long,java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].copyMemoryChecks(java.lang.Object,long,java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 5
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkSize(long)"
    - "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:813,1"
      Dst: "[jdk.internal.misc.Unsafe].checkSize(long)"
    - Src: "jdk.internal.misc.Unsafe:814,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].copyMemory0(java.lang.Object,long,java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].copyMemory(long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:799,1"
      Dst: "[jdk.internal.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].copySwapMemory(java.lang.Object,long,java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].copySwapMemoryChecks(java.lang.Object,long,java.lang.Object,long,long,long)"
    - "[jdk.internal.misc.Unsafe].copySwapMemory0(java.lang.Object,long,java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:845"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:849"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:848"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:843,1"
      Dst: "[jdk.internal.misc.Unsafe].copySwapMemoryChecks(java.lang.Object,long,java.lang.Object,long,long,long)"
    - Src: "jdk.internal.misc.Unsafe:849,1"
      Dst: "[jdk.internal.misc.Unsafe].copySwapMemory0(java.lang.Object,long,java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].copySwapMemoryChecks(java.lang.Object,long,java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].checkSize(long)"
    - "[jdk.internal.misc.Unsafe].invalidInput()"
    - "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:857"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:860"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:859"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:857"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:860"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:859"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:857"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:860"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:859"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:860"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:864"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:863"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:855,1"
      Dst: "[jdk.internal.misc.Unsafe].checkSize(long)"
    - Src: "jdk.internal.misc.Unsafe:858,1"
      Dst: "[jdk.internal.misc.Unsafe].invalidInput()"
    - Src: "jdk.internal.misc.Unsafe:864,1"
      Dst: "[jdk.internal.misc.Unsafe].checkPrimitivePointer(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].copySwapMemory0(java.lang.Object,long,java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].copySwapMemory(long,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 4
    argTypes:
    - "long"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].copySwapMemory(java.lang.Object,long,java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:878,1"
      Dst: "[jdk.internal.misc.Unsafe].copySwapMemory(java.lang.Object,long,java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].objectFieldOffset0(java.lang.reflect.Field)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:949"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:953"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:952"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:950,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:953,1"
      Dst: "[jdk.internal.misc.Unsafe].objectFieldOffset0(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].objectFieldOffset0(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].objectFieldOffset(java.lang.Class,java.lang.String)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionDepth: 1
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].objectFieldOffset1(java.lang.Class,java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:968"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:969"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "jdk.internal.misc.Unsafe:968"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "jdk.internal.misc.Unsafe:968"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:972"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "jdk.internal.misc.Unsafe:971"
        BranchSideFuncs:
        - "objectFieldOffset1(java.lang.Class,java.lang.String)"
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:969,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:972,1"
      Dst: "[jdk.internal.misc.Unsafe].objectFieldOffset1(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].objectFieldOffset1(java.lang.Class,java.lang.String)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].staticFieldOffset(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].staticFieldOffset0(java.lang.reflect.Field)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:993"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:997"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:996"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:994,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:997,1"
      Dst: "[jdk.internal.misc.Unsafe].staticFieldOffset0(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].staticFieldOffset0(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].staticFieldBase(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].staticFieldBase0(java.lang.reflect.Field)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1011"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1015"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1014"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1012,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1015,1"
      Dst: "[jdk.internal.misc.Unsafe].staticFieldBase0(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].staticFieldBase0(java.lang.reflect.Field)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].shouldBeInitialized(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].shouldBeInitialized0(java.lang.Class)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1025"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1029"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1028"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1026,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1029,1"
      Dst: "[jdk.internal.misc.Unsafe].shouldBeInitialized0(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].shouldBeInitialized0(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].ensureClassInitialized(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].ensureClassInitialized0(java.lang.Class)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1038"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1042"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "jdk.internal.misc.Unsafe:1041"
        BranchSideFuncs:
        - "ensureClassInitialized0(java.lang.Class)"
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1039,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1042,1"
      Dst: "[jdk.internal.misc.Unsafe].ensureClassInitialized0(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].ensureClassInitialized0(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].arrayBaseOffset(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 1055
    functionLinenumberEnd: 1061
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].arrayBaseOffset0(java.lang.Class)"
    functionUses: 9
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1056"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1060"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "jdk.internal.misc.Unsafe:1059"
        BranchSideFuncs:
        - "arrayBaseOffset0(java.lang.Class)"
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1057,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1060,1"
      Dst: "[jdk.internal.misc.Unsafe].arrayBaseOffset0(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].arrayBaseOffset0(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].arrayIndexScale(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: 1111
    functionLinenumberEnd: 1117
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[jdk.internal.misc.Unsafe].arrayIndexScale0(java.lang.Class)"
    functionUses: 9
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1112"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1116"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "jdk.internal.misc.Unsafe:1115"
        BranchSideFuncs:
        - "arrayIndexScale0(java.lang.Class)"
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1113,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1116,1"
      Dst: "[jdk.internal.misc.Unsafe].arrayIndexScale0(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].arrayIndexScale0(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].addressSize()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].pageSize()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].defineClass(java.lang.String,byte[],int,int,java.lang.ClassLoader,java.security.ProtectionDomain)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "byte[]"
    - "int"
    - "int"
    - "java.lang.ClassLoader"
    - "java.security.ProtectionDomain"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.ArrayIndexOutOfBoundsException].<init>()"
    - "[jdk.internal.misc.Unsafe].defineClass0(java.lang.String,byte[],int,int,java.lang.ClassLoader,java.security.ProtectionDomain)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1185"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1188"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1187"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1188"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1192"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1191"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1186,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1189,1"
      Dst: "[java.lang.ArrayIndexOutOfBoundsException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1192,1"
      Dst: "[jdk.internal.misc.Unsafe].defineClass0(java.lang.String,byte[],int,int,java.lang.ClassLoader,java.security.ProtectionDomain)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].defineClass0(java.lang.String,byte[],int,int,java.lang.ClassLoader,java.security.ProtectionDomain)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "byte[]"
    - "int"
    - "int"
    - "java.lang.ClassLoader"
    - "java.security.ProtectionDomain"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].defineAnonymousClass(java.lang.Class,byte[],java.lang.Object[])"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "byte[]"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.Class].isArray()"
    - "[java.lang.Class].isPrimitive()"
    - "[java.lang.IllegalArgumentException].<init>()"
    - "[jdk.internal.misc.Unsafe].defineAnonymousClass0(java.lang.Class,byte[],java.lang.Object[])"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1216"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1217"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1216"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1216"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1219"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1218"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1219"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1220"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1219"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1219"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1223"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1222"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1217,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1219,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "jdk.internal.misc.Unsafe:1219,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "jdk.internal.misc.Unsafe:1220,1"
      Dst: "[java.lang.IllegalArgumentException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:1223,1"
      Dst: "[jdk.internal.misc.Unsafe].defineAnonymousClass0(java.lang.Class,byte[],java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].defineAnonymousClass0(java.lang.Class,byte[],java.lang.Object[])"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "byte[]"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].allocateInstance(java.lang.Class)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.lang.InstantiationException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].allocateUninitializedArray(java.lang.Class,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].isPrimitive()"
    - "[jdk.internal.misc.Unsafe].allocateUninitializedArray0(java.lang.Class,int)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1260"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1263"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1262"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1263"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1266"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1265"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1266"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1269"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1268"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1261,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "jdk.internal.misc.Unsafe:1263,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "jdk.internal.misc.Unsafe:1269,1"
      Dst: "[jdk.internal.misc.Unsafe].allocateUninitializedArray0(java.lang.Class,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].allocateUninitializedArray0(java.lang.Class,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1276"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1277"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1276"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1277"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1278"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1277"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1278"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1279"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1278"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1279"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1280"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1279"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1280"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1281"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1280"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1281"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1282"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1281"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1282"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1283"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1282"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1283"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1284"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1283"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].throwException(java.lang.Throwable)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeObjectAcquire(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1313,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeObjectRelease(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1320,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectPlain(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1327,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectAcquire(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1334,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectRelease(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1341,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1348,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeIntAcquire(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1374,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeIntRelease(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1381,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntPlain(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1388,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1395,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1402,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1409,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "byte"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1418"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1421"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1420"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1427"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:null"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1429"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1425"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1426,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:1429,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetByte(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1438"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1437"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1438,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1445,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1452,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1459,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetBytePlain(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1466,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeByteAcquire(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "byte"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1473,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeByteRelease(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "byte"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1480,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "short"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 42
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1487"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1490"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:1489"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1492"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:null"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1501"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:null"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:1504"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1499"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1488,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "jdk.internal.misc.Unsafe:1500,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:1504,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetShort(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1513"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1512"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1513,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1520,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1527,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1534,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortPlain(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1541,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeShortAcquire(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "short"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1549,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeShortRelease(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "short"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1556,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].s2c(short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "char"
    argCount: 1
    argTypes:
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].c2s(char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetChar(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].compareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1573,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1573,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeChar(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "char"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1580,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1580,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShort(java.lang.Object,long,short,short)"
    - Src: "jdk.internal.misc.Unsafe:1580,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeCharAcquire(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "char"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShortAcquire(java.lang.Object,long,short,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1587,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1587,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShortAcquire(java.lang.Object,long,short,short)"
    - Src: "jdk.internal.misc.Unsafe:1587,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeCharRelease(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "char"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeShortRelease(java.lang.Object,long,short,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1594,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1594,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeShortRelease(java.lang.Object,long,short,short)"
    - Src: "jdk.internal.misc.Unsafe:1594,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetChar(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1601,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1601,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetCharAcquire(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1608,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1608,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetCharRelease(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1615,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1615,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetCharPlain(java.lang.Object,long,char,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortPlain(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1622,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:1622,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortPlain(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1657"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1656"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:1671"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:1670"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetBoolean(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].compareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1678,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1678,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeBoolean(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1685,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1685,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByte(java.lang.Object,long,byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:1685,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeBooleanAcquire(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByteAcquire(java.lang.Object,long,byte,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1692,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1692,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByteAcquire(java.lang.Object,long,byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:1692,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeBooleanRelease(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeByteRelease(java.lang.Object,long,byte,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1699,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1699,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeByteRelease(java.lang.Object,long,byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:1699,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetBoolean(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1706,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1706,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetBooleanAcquire(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1713,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1713,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetBooleanRelease(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1720,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1720,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetBooleanPlain(java.lang.Object,long,boolean,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetBytePlain(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1727,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:1727,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetBytePlain(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetFloat(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1744,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1743,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeFloat(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "float"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1753,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1752,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeInt(java.lang.Object,long,int,int)"
    - Src: "jdk.internal.misc.Unsafe:1755,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeFloatAcquire(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "float"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeIntAcquire(java.lang.Object,long,int,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1763,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1762,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeIntAcquire(java.lang.Object,long,int,int)"
    - Src: "jdk.internal.misc.Unsafe:1765,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeFloatRelease(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "float"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeIntRelease(java.lang.Object,long,int,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1773,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1772,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeIntRelease(java.lang.Object,long,int,int)"
    - Src: "jdk.internal.misc.Unsafe:1775,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetFloatPlain(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntPlain(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1783,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1782,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntPlain(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetFloatAcquire(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1792,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1791,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetFloatRelease(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1801,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1800,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetFloat(java.lang.Object,long,float,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1810,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:1809,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetDouble(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1828,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1827,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeDouble(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1837,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1836,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    - Src: "jdk.internal.misc.Unsafe:1839,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeDoubleAcquire(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeLongAcquire(java.lang.Object,long,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1847,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1846,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeLongAcquire(java.lang.Object,long,long,long)"
    - Src: "jdk.internal.misc.Unsafe:1849,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeLongAcquire(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1921,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeDoubleRelease(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].compareAndExchangeLongRelease(java.lang.Object,long,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1857,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1856,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeLongRelease(java.lang.Object,long,long,long)"
    - Src: "jdk.internal.misc.Unsafe:1859,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].compareAndExchangeLongRelease(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1928,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndExchangeLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetDoublePlain(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongPlain(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1867,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1866,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongPlain(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongPlain(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1935,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetDoubleAcquire(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1876,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1875,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1942,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetDoubleRelease(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1885,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1884,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1949,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetDouble(java.lang.Object,long,double,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1894,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:1893,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:1956,1"
      Dst: "[jdk.internal.misc.Unsafe].compareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putObjectVolatile(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putIntVolatile(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getBooleanVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putBooleanVolatile(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putByteVolatile(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putShortVolatile(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getCharVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "char"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putCharVolatile(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putLongVolatile(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getFloatVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "float"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putFloatVolatile(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getDoubleVolatile(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].putDoubleVolatile(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getObjectAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2042,1"
      Dst: "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getBooleanAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getBooleanVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2048,1"
      Dst: "[jdk.internal.misc.Unsafe].getBooleanVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getByteAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2054,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getShortAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "short"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2060,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getCharAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "char"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getCharVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2066,1"
      Dst: "[jdk.internal.misc.Unsafe].getCharVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2072,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getFloatAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "float"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getFloatVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2078,1"
      Dst: "[jdk.internal.misc.Unsafe].getFloatVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2084,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getDoubleAcquire(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getDoubleVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2090,1"
      Dst: "[jdk.internal.misc.Unsafe].getDoubleVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putObjectRelease(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putObjectVolatile(java.lang.Object,long,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2106,1"
      Dst: "[jdk.internal.misc.Unsafe].putObjectVolatile(java.lang.Object,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putBooleanRelease(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putBooleanVolatile(java.lang.Object,long,boolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2112,1"
      Dst: "[jdk.internal.misc.Unsafe].putBooleanVolatile(java.lang.Object,long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putByteVolatile(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2118,1"
      Dst: "[jdk.internal.misc.Unsafe].putByteVolatile(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putShortVolatile(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2124,1"
      Dst: "[jdk.internal.misc.Unsafe].putShortVolatile(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putCharVolatile(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2130,1"
      Dst: "[jdk.internal.misc.Unsafe].putCharVolatile(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putIntVolatile(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2136,1"
      Dst: "[jdk.internal.misc.Unsafe].putIntVolatile(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putFloatRelease(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putFloatVolatile(java.lang.Object,long,float)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2142,1"
      Dst: "[jdk.internal.misc.Unsafe].putFloatVolatile(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putLongVolatile(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2148,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongVolatile(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putDoubleRelease(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putDoubleVolatile(java.lang.Object,long,double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2154,1"
      Dst: "[jdk.internal.misc.Unsafe].putDoubleVolatile(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getObjectOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2162,1"
      Dst: "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getBooleanOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getBooleanVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2168,1"
      Dst: "[jdk.internal.misc.Unsafe].getBooleanVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getByteOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2174,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getShortOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "short"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2180,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getCharOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "char"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getCharVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2186,1"
      Dst: "[jdk.internal.misc.Unsafe].getCharVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getIntOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2192,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getFloatOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "float"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getFloatVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2198,1"
      Dst: "[jdk.internal.misc.Unsafe].getFloatVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getLongOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2204,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getDoubleOpaque(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getDoubleVolatile(java.lang.Object,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2210,1"
      Dst: "[jdk.internal.misc.Unsafe].getDoubleVolatile(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putObjectOpaque(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putObjectVolatile(java.lang.Object,long,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2216,1"
      Dst: "[jdk.internal.misc.Unsafe].putObjectVolatile(java.lang.Object,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putBooleanOpaque(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putBooleanVolatile(java.lang.Object,long,boolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2222,1"
      Dst: "[jdk.internal.misc.Unsafe].putBooleanVolatile(java.lang.Object,long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putByteOpaque(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putByteVolatile(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2228,1"
      Dst: "[jdk.internal.misc.Unsafe].putByteVolatile(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putShortOpaque(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putShortVolatile(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2234,1"
      Dst: "[jdk.internal.misc.Unsafe].putShortVolatile(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putCharOpaque(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putCharVolatile(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2240,1"
      Dst: "[jdk.internal.misc.Unsafe].putCharVolatile(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putIntOpaque(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putIntVolatile(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2246,1"
      Dst: "[jdk.internal.misc.Unsafe].putIntVolatile(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putFloatOpaque(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putFloatVolatile(java.lang.Object,long,float)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2252,1"
      Dst: "[jdk.internal.misc.Unsafe].putFloatVolatile(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putLongOpaque(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putLongVolatile(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2258,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongVolatile(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putDoubleOpaque(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putDoubleVolatile(java.lang.Object,long,double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2264,1"
      Dst: "[jdk.internal.misc.Unsafe].putDoubleVolatile(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].unpark(java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].park(boolean,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getLoadAverage(double[],int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "double[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ArrayIndexOutOfBoundsException].<init>()"
    - "[jdk.internal.misc.Unsafe].getLoadAverage0(double[],int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2312"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2313"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2312"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:2312"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2313"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2312"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:2312"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2316"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2315"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2313,1"
      Dst: "[java.lang.ArrayIndexOutOfBoundsException].<init>()"
    - Src: "jdk.internal.misc.Unsafe:2316,1"
      Dst: "[jdk.internal.misc.Unsafe].getLoadAverage0(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].getLoadAverage0(double[],int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "double[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2338"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2337"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2336"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2337,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2338,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2347"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2346"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2345"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2346,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2347,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddIntAcquire(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2356"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2355"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2354"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2355,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2356,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2376"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2375"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2374"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2375,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2376,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2385"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2384"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2383"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2384,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2385,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddLongAcquire(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2394"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2393"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2392"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2393,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2394,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2403"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2402"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2401"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2402,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2403,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2412"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2411"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2410"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2411,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2412,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddByteAcquire(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2421"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2420"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2419"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2420,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2421,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2430"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2429"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2428"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2429,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2430,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2439"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2438"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2437"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2438,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2439,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddShortAcquire(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2448"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2447"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2446"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2447,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2448,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getAndAddShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2454,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndAddShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getAndAddShortRelease(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2459,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndAddShortRelease(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddCharAcquire(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getAndAddShortAcquire(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2464,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndAddShortAcquire(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddFloat(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2477"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2474"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2475,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2476,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    - Src: "jdk.internal.misc.Unsafe:2478,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2477,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddFloatRelease(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2492"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2489"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2490,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2491,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    - Src: "jdk.internal.misc.Unsafe:2493,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2492,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddFloatAcquire(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2507"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2504"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2505,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2506,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    - Src: "jdk.internal.misc.Unsafe:2508,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2507,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddDouble(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2522"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2519"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2520,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2521,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "jdk.internal.misc.Unsafe:2523,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2522,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddDoubleRelease(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2537"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2534"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2535,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2536,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "jdk.internal.misc.Unsafe:2538,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2537,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndAddDoubleAcquire(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2552"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2549"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2550,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2551,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "jdk.internal.misc.Unsafe:2553,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2552,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2573"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2572"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2571"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2572,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2573,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2582"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2581"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2580"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2581,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2582,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetIntAcquire(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2591"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2590"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2589"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2590,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2591,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2611"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2610"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2609"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2610,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2611,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2620"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2619"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2618"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2619,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2620,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetLongAcquire(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2629"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2628"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2627"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2628,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2629,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetObject(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2649"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2648"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2647"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2648,1"
      Dst: "[jdk.internal.misc.Unsafe].getObjectVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2649,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetObject(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetObjectRelease(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getObject(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectRelease(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2658"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2657"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2656"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2657,1"
      Dst: "[jdk.internal.misc.Unsafe].getObject(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2658,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectRelease(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetObjectAcquire(java.lang.Object,long,java.lang.Object)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getObjectAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectAcquire(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2667"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2666"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2665"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2666,1"
      Dst: "[jdk.internal.misc.Unsafe].getObjectAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2667,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetObjectAcquire(java.lang.Object,long,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2676"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2675"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2674"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2675,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2676,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2685"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2684"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2683"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2684,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2685,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetByteAcquire(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2694"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2693"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2692"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2693,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2694,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetBoolean(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndSetByte(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2700,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2700,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetByte(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2700,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetBooleanRelease(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndSetByteRelease(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2705,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2705,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetByteRelease(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2705,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetBooleanAcquire(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndSetByteAcquire(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2710,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2710,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetByteAcquire(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2710,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2718"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2717"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2716"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2717,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2718,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2727"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2726"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2725"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2726,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2727,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetShortAcquire(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortAcquire(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2736"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2735"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:2734"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2735,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortAcquire(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2736,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndSetShort(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2742,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2742,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetShort(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2742,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndSetShortRelease(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2747,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2747,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetShortRelease(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2747,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetCharAcquire(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndSetShortAcquire(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2752,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2752,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetShortAcquire(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2752,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetFloat(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].getAndSetInt(java.lang.Object,long,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2757,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2757,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetInt(java.lang.Object,long,int)"
    - Src: "jdk.internal.misc.Unsafe:2758,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetFloatRelease(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].getAndSetIntRelease(java.lang.Object,long,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2763,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2763,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetIntRelease(java.lang.Object,long,int)"
    - Src: "jdk.internal.misc.Unsafe:2764,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetFloatAcquire(java.lang.Object,long,float)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "float"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatToRawIntBits(float)"
    - "[jdk.internal.misc.Unsafe].getAndSetIntAcquire(java.lang.Object,long,int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2769,1"
      Dst: "[java.lang.Float].floatToRawIntBits(float)"
    - Src: "jdk.internal.misc.Unsafe:2769,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetIntAcquire(java.lang.Object,long,int)"
    - Src: "jdk.internal.misc.Unsafe:2770,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetDouble(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].getAndSetLong(java.lang.Object,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2775,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2775,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetLong(java.lang.Object,long,long)"
    - Src: "jdk.internal.misc.Unsafe:2776,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetDoubleRelease(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].getAndSetLongRelease(java.lang.Object,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2781,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2781,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetLongRelease(java.lang.Object,long,long)"
    - Src: "jdk.internal.misc.Unsafe:2782,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndSetDoubleAcquire(java.lang.Object,long,double)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "double"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToRawLongBits(double)"
    - "[jdk.internal.misc.Unsafe].getAndSetLongAcquire(java.lang.Object,long,long)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2787,1"
      Dst: "[java.lang.Double].doubleToRawLongBits(double)"
    - Src: "jdk.internal.misc.Unsafe:2787,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndSetLongAcquire(java.lang.Object,long,long)"
    - Src: "jdk.internal.misc.Unsafe:2788,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrBoolean(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrByte(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2797,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2797,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByte(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2797,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2846"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2844"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2845,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2846,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrBooleanRelease(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteRelease(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2802,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2802,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteRelease(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2802,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2856"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2854"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2855,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2856,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrBooleanAcquire(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteAcquire(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2807,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2807,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteAcquire(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2807,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrByteAcquire(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2867"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2865"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2866,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2867,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndBoolean(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndByte(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2812,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2812,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByte(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2812,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2877"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2875"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2876,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2877,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndBooleanRelease(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteRelease(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2817,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2817,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteRelease(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2817,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2887"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2885"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2886,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2887,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndBooleanAcquire(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteAcquire(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2822,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2822,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteAcquire(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2822,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndByteAcquire(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2898"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2896"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2897,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2898,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorBoolean(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorByte(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2827,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2827,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByte(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2827,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByte(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2908"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2906"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2907,1"
      Dst: "[jdk.internal.misc.Unsafe].getByteVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2908,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByte(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorBooleanRelease(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteRelease(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2832,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2832,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteRelease(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2832,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteRelease(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2918"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2916"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2917,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2918,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteRelease(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorBooleanAcquire(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteAcquire(java.lang.Object,long,byte)"
    - "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2837,1"
      Dst: "[jdk.internal.misc.Unsafe].bool2byte(boolean)"
    - Src: "jdk.internal.misc.Unsafe:2837,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteAcquire(java.lang.Object,long,byte)"
    - Src: "jdk.internal.misc.Unsafe:2837,1"
      Dst: "[jdk.internal.misc.Unsafe].byte2bool(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorByteAcquire(java.lang.Object,long,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "byte"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2929"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2927"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2928,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2929,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetByteAcquire(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrShort(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2937,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2937,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShort(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2937,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2986"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2984"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2985,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2986,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortRelease(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2942,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2942,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortRelease(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2942,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:2996"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:2994"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2995,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:2996,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrCharAcquire(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortAcquire(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2947,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2947,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortAcquire(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2947,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrShortAcquire(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3007"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3005"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3006,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3007,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndShort(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2952,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2952,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShort(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2952,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3017"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3015"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3016,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3017,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortRelease(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2957,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2957,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortRelease(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2957,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3027"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3025"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3026,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3027,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndCharAcquire(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortAcquire(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2962,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2962,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortAcquire(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2962,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndShortAcquire(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3038"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3036"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3037,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3038,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorChar(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorShort(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2967,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2967,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShort(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2967,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShort(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3048"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3046"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3047,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3048,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShort(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorCharRelease(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortRelease(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2972,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2972,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortRelease(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2972,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortRelease(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3058"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3056"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3057,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3058,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortRelease(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorCharAcquire(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].c2s(char)"
    - "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortAcquire(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].s2c(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:2977,1"
      Dst: "[jdk.internal.misc.Unsafe].c2s(char)"
    - Src: "jdk.internal.misc.Unsafe:2977,1"
      Dst: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortAcquire(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:2977,1"
      Dst: "[jdk.internal.misc.Unsafe].s2c(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorShortAcquire(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3069"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3067"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3068,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3069,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetShortAcquire(java.lang.Object,long,short,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3080"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3078"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3079,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3080,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3090"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3088"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3089,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3090,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrIntAcquire(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3101"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3099"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3100,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3101,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3122"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3120"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3121,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3122,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3132"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3130"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3131,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3132,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndIntAcquire(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3143"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3141"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3142,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3143,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorInt(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3153"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3151"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3152,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3153,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetInt(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorIntRelease(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3163"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3161"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3162,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3163,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntRelease(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorIntAcquire(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3174"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3172"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3173,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3174,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetIntAcquire(java.lang.Object,long,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3185"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3183"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3184,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3185,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3195"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3193"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3194,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3195,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseOrLongAcquire(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3206"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3204"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3205,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3206,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3216"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3214"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3215,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3216,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3226"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3224"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3225,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3226,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseAndLongAcquire(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3237"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3235"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3236,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3237,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorLong(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3247"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3245"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3246,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongVolatile(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3247,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLong(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorLongRelease(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3257"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3255"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3256,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3257,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongRelease(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getAndBitwiseXorLongAcquire(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3268"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3266"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3267,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3268,1"
      Dst: "[jdk.internal.misc.Unsafe].weakCompareAndSetLongAcquire(java.lang.Object,long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].loadFence()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].storeFence()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].fullFence()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].loadLoadFence()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].loadFence()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3322,1"
      Dst: "[jdk.internal.misc.Unsafe].loadFence()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].storeStoreFence()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].storeFence()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3330,1"
      Dst: "[jdk.internal.misc.Unsafe].storeFence()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].throwIllegalAccessError()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalAccessError].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3340,1"
      Dst: "[java.lang.IllegalAccessError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].throwNoSuchMethodError()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NoSuchMethodError].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3348,1"
      Dst: "[java.lang.NoSuchMethodError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].isBigEndian()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].unalignedAccess()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getLongUnaligned(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeLong(int,int)"
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeLong(short,short,short,short)"
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeLong(byte,byte,byte,byte,byte,byte,byte,byte)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3399"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3401"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3400"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3401"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3404"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3403"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3404"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3410"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3409"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3400,1"
      Dst: "[jdk.internal.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3402,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3402,1"
      Dst: "[jdk.internal.misc.Unsafe].makeLong(int,int)"
    - Src: "jdk.internal.misc.Unsafe:3405,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3405,1"
      Dst: "[jdk.internal.misc.Unsafe].makeLong(short,short,short,short)"
    - Src: "jdk.internal.misc.Unsafe:3410,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3410,1"
      Dst: "[jdk.internal.misc.Unsafe].makeLong(byte,byte,byte,byte,byte,byte,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].makeLong(int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedLong(int)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3632,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedLong(int)"
    - Src: "jdk.internal.misc.Unsafe:3632,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].toUnsignedLong(int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3611"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3610"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].makeLong(short,short,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 4
    argTypes:
    - "short"
    - "short"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedLong(short)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3626,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedLong(short)"
    - Src: "jdk.internal.misc.Unsafe:3626,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].toUnsignedLong(short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].makeLong(byte,byte,byte,byte,byte,byte,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 8
    argTypes:
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedLong(byte)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3616,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedLong(byte)"
    - Src: "jdk.internal.misc.Unsafe:3616,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].toUnsignedLong(byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getLongUnaligned(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getLongUnaligned(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3432,1"
      Dst: "[jdk.internal.misc.Unsafe].getLongUnaligned(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3432,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].convEndian(boolean,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "boolean"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].reverseBytes(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3703"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3702"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3703,1"
      Dst: "[java.lang.Long].reverseBytes(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getIntUnaligned(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeInt(short,short)"
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeInt(byte,byte,byte,byte)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3438"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3440"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3439"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3440"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3444"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3443"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3439,1"
      Dst: "[jdk.internal.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3441,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3441,1"
      Dst: "[jdk.internal.misc.Unsafe].makeInt(short,short)"
    - Src: "jdk.internal.misc.Unsafe:3444,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3444,1"
      Dst: "[jdk.internal.misc.Unsafe].makeInt(byte,byte,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].makeInt(short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedInt(short)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3636,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedInt(short)"
    - Src: "jdk.internal.misc.Unsafe:3636,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].toUnsignedInt(short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].makeInt(byte,byte,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 4
    argTypes:
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedInt(byte)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3640,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedInt(byte)"
    - Src: "jdk.internal.misc.Unsafe:3640,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].toUnsignedInt(byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getIntUnaligned(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getIntUnaligned(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3452,1"
      Dst: "[jdk.internal.misc.Unsafe].getIntUnaligned(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3452,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].convEndian(boolean,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "boolean"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].reverseBytes(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3702"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3701"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3702,1"
      Dst: "[java.lang.Integer].reverseBytes(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getShortUnaligned(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "short"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeShort(byte,byte)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3458"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3461"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3460"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3459,1"
      Dst: "[jdk.internal.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3461,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3461,1"
      Dst: "[jdk.internal.misc.Unsafe].makeShort(byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].makeShort(byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "short"
    argCount: 2
    argTypes:
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].toUnsignedInt(byte)"
    - "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3646,1"
      Dst: "[jdk.internal.misc.Unsafe].toUnsignedInt(byte)"
    - Src: "jdk.internal.misc.Unsafe:3646,1"
      Dst: "[jdk.internal.misc.Unsafe].pickPos(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getShortUnaligned(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "short"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getShortUnaligned(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3467,1"
      Dst: "[jdk.internal.misc.Unsafe].getShortUnaligned(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3467,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].convEndian(boolean,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short"
    argCount: 2
    argTypes:
    - "boolean"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Short].reverseBytes(short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3701"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3700"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3701,1"
      Dst: "[java.lang.Short].reverseBytes(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].getCharUnaligned(java.lang.Object,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "char"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getChar(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].makeShort(byte,byte)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3473"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3476"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3475"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3474,1"
      Dst: "[jdk.internal.misc.Unsafe].getChar(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3476,1"
      Dst: "[jdk.internal.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3476,1"
      Dst: "[jdk.internal.misc.Unsafe].makeShort(byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].getCharUnaligned(java.lang.Object,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "char"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].getCharUnaligned(java.lang.Object,long)"
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,char)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3483,1"
      Dst: "[jdk.internal.misc.Unsafe].getCharUnaligned(java.lang.Object,long)"
    - Src: "jdk.internal.misc.Unsafe:3483,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].convEndian(boolean,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "char"
    argCount: 2
    argTypes:
    - "boolean"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Character].reverseBytes(char)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3700"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3699"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3700,1"
      Dst: "[java.lang.Character].reverseBytes(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].putLongUnaligned(java.lang.Object,long,long)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    - "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,int,int)"
    - "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,short,short,short,short)"
    - "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,byte,byte,byte,byte,byte,byte,byte,byte)"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3516"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3518"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3517"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3518"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3522"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3521"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3522"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3529"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3528"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3517,1"
      Dst: "[jdk.internal.misc.Unsafe].putLong(java.lang.Object,long,long)"
    - Src: "jdk.internal.misc.Unsafe:3519,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,int,int)"
    - Src: "jdk.internal.misc.Unsafe:3523,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,short,short,short,short)"
    - Src: "jdk.internal.misc.Unsafe:3529,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,byte,byte,byte,byte,byte,byte,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(int,int)"
    - "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3674,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(int,int)"
    - Src: "jdk.internal.misc.Unsafe:3674,1"
      Dst: "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].pick(int,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3652"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3651"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,short,short,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(short,short)"
    - "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3668,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(short,short)"
    - Src: "jdk.internal.misc.Unsafe:3668,1"
      Dst: "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].pick(short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short"
    argCount: 2
    argTypes:
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3651"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3650"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].putLongParts(java.lang.Object,long,byte,byte,byte,byte,byte,byte,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 10
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 36
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3658,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:3658,1"
      Dst: "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte"
    argCount: 2
    argTypes:
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3650"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3649"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].putLongUnaligned(java.lang.Object,long,long,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,long)"
    - "[jdk.internal.misc.Unsafe].putLongUnaligned(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3553,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,long)"
    - Src: "jdk.internal.misc.Unsafe:3553,1"
      Dst: "[jdk.internal.misc.Unsafe].putLongUnaligned(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putIntUnaligned(java.lang.Object,long,int)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,short,short)"
    - "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,byte,byte,byte,byte)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3559"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3561"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3560"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.misc.Unsafe:3561"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:3566"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.misc.Unsafe:3565"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3560,1"
      Dst: "[jdk.internal.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - Src: "jdk.internal.misc.Unsafe:3562,1"
      Dst: "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,short,short)"
    - Src: "jdk.internal.misc.Unsafe:3566,1"
      Dst: "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,byte,byte,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,short,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(short,short)"
    - "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3678,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(short,short)"
    - Src: "jdk.internal.misc.Unsafe:3678,1"
      Dst: "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putIntParts(java.lang.Object,long,byte,byte,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3682,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:3682,1"
      Dst: "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putIntUnaligned(java.lang.Object,long,int,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,int)"
    - "[jdk.internal.misc.Unsafe].putIntUnaligned(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3575,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,int)"
    - Src: "jdk.internal.misc.Unsafe:3575,1"
      Dst: "[jdk.internal.misc.Unsafe].putIntUnaligned(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    - "[jdk.internal.misc.Unsafe].putShortParts(java.lang.Object,long,byte,byte)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.misc.Unsafe:3581"
      Branch Sides:
      - BranchSide: "jdk.internal.misc.Unsafe:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3582,1"
      Dst: "[jdk.internal.misc.Unsafe].putShort(java.lang.Object,long,short)"
    - Src: "jdk.internal.misc.Unsafe:3584,1"
      Dst: "[jdk.internal.misc.Unsafe].putShortParts(java.lang.Object,long,byte,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.misc.Unsafe].putShortParts(java.lang.Object,long,byte,byte)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "byte"
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3688,1"
      Dst: "[jdk.internal.misc.Unsafe].pick(byte,byte)"
    - Src: "jdk.internal.misc.Unsafe:3688,1"
      Dst: "[jdk.internal.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "short"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,short)"
    - "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3591,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,short)"
    - Src: "jdk.internal.misc.Unsafe:3591,1"
      Dst: "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putCharUnaligned(java.lang.Object,long,char)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3597,1"
      Dst: "[jdk.internal.misc.Unsafe].putShortUnaligned(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].putCharUnaligned(java.lang.Object,long,char,boolean)"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "char"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.misc.Unsafe].convEndian(boolean,char)"
    - "[jdk.internal.misc.Unsafe].putCharUnaligned(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.misc.Unsafe:3601,1"
      Dst: "[jdk.internal.misc.Unsafe].convEndian(boolean,char)"
    - Src: "jdk.internal.misc.Unsafe:3601,1"
      Dst: "[jdk.internal.misc.Unsafe].putCharUnaligned(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.misc.Unsafe].addressSize0()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].unalignedAccess0()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.misc.Unsafe].isBigEndian0()"
    functionSourceFile: "jdk.internal.misc.Unsafe"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:243,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:245,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigDecimal)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.math.BigDecimal"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - "[java.math.BigDecimal].precision()"
    - "[java.math.BigDecimal].unscaledValue()"
    - "[java.math.BigInteger].bitLength()"
    - "[java.math.BigInteger].toByteArray()"
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    - "[java.math.BigDecimal].scale()"
    - "[java.math.BigDecimal].scaleByPowerOfTen(int)"
    - "[java.math.BigDecimal].longValue()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].writeUnscaledLong(com.esotericsoftware.kryo.io.Output,long)"
    functionUses: 0
    ICount: 51
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:249"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:253"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:252"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:253"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:259"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:258"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:266"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:265"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:268"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:273"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:272"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:270"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:268"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:273"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:278"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:250,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:254,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:256,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:267,1"
      Dst: "[java.math.BigDecimal].precision()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:269,1"
      Dst: "[java.math.BigDecimal].unscaledValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:270,1"
      Dst: "[java.math.BigInteger].bitLength()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:274,1"
      Dst: "[java.math.BigInteger].toByteArray()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:276,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:278,1"
      Dst: "[java.math.BigDecimal].scale()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:278,1"
      Dst: "[java.math.BigDecimal].scaleByPowerOfTen(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:278,1"
      Dst: "[java.math.BigDecimal].longValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:279,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].writeUnscaledLong(com.esotericsoftware.kryo.io.Output,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:246"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:247"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:246"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:246,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:257"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:258"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:257"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:257,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:258,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:263"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:264"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:263"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:269"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:270"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:269"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:263,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:264,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:266,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:271,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:272,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].writeUnscaledLong(com.esotericsoftware.kryo.io.Output,long)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long,int)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:287"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:289"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:288"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:288,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:293,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:294,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeLong(long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,int)"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:308"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:308"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:307"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:308"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:309"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:308"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:309"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:312"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:311"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:308,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:308,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:310,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:312,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeInt(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:279"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:279"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:278"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:279"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:280"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:279"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:279,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:279,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:280,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: 297
    functionLinenumberEnd: 326
    functionDepth: 6
    returnType: "java.math.BigDecimal"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(int)"
    - "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    - "[java.math.BigInteger].<init>(byte[])"
    - "[com.esotericsoftware.kryo.io.Input].readLong(int)"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].newBigDecimalSubclass(java.lang.Class,java.math.BigInteger,int)"
    - "[java.math.BigInteger].valueOf(long)"
    - "[java.math.BigDecimal].<init>(java.math.BigInteger,int)"
    - "[java.math.BigDecimal].valueOf(long,int)"
    functionUses: 13
    ICount: 42
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:302"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:305"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:309"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "readBytes(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:308"
        BranchSideFuncs:
        - "readLong(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:317"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:317"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:315"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:314"
        BranchSideFuncs:
        - "newBigDecimalSubclass(java.lang.Class,java.math.BigInteger,int)"
        - "valueOf(long)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:318"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:321"
        BranchSideFuncs:
        - "<init>(java.math.BigInteger,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:320"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:321"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:325"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:324"
        BranchSideFuncs:
        - "valueOf(long,int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:322"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:323"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:323"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:324"
        BranchSideFuncs:
        - "valueOf(long,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:301,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:306,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:307,1"
      Dst: "[java.math.BigInteger].<init>(byte[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:309,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:312,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:315,1"
      Dst: "[java.math.BigInteger].valueOf(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:315,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].newBigDecimalSubclass(java.lang.Class,java.math.BigInteger,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:319,1"
      Dst: "[java.math.BigDecimal].<init>(java.math.BigInteger,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:325,1"
      Dst: "[java.math.BigDecimal].valueOf(long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionDepth: 4
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(byte[],int,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(byte[],int,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(byte[],int,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:352,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:363"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:364"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:363"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:369"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:370"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:369"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:363,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:364,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:366,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:372,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readLong(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionDepth: 4
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt(int)"
    - "[com.esotericsoftware.kryo.io.Input].readInt(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:403"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:403"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:402"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:403"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:404"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:403"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:404"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:407"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:406"
        BranchSideFuncs:
        - "require(int)"
        - "readInt(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:403,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:403,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:405,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:407,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 377
    functionLinenumberEnd: 399
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.IllegalStateException].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 80
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:378"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:378"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:377"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:378"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:379"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:378"
        BranchSideFuncs:
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:378,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:378,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:379,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:398,1"
      Dst: "[java.lang.IllegalStateException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].newBigDecimalSubclass(java.lang.Class,java.math.BigInteger,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionDepth: 1
    returnType: "java.math.BigDecimal"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.math.BigInteger"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:333"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:338"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:332,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:333,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:335,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:339,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:339,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:341,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigDecimal)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer:243,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigDecimal)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:45,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:51,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:53,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:58,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    - "[java.nio.ByteBuffer].put(byte[])"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].flipBuffer(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:65"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:63,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:64,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:65,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:66,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:67,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].flipBuffer(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:68,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:73,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:80"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:78,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:79,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:86"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:87"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:85,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:86,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:94,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:101,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:108,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.nio.Buffer].position()"
    - "[java.nio.Buffer].limit()"
    - "[java.nio.Buffer].capacity()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:116"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:115,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:117,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:118,1"
      Dst: "[java.nio.Buffer].limit()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:119,1"
      Dst: "[java.nio.Buffer].capacity()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].getByteBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.nio.ByteBuffer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setInputStream(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].reset()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:131,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].reset()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:135,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].reset()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:136,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position(int)"
    functionUses: 6
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:310,1"
      Dst: "[java.nio.Buffer].position(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].fill(java.nio.ByteBuffer,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 160
    functionDepth: 1
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.nio.ByteBuffer"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[],int,int)"
    - "[java.util.jar.Manifest$FastInputStream].read(byte[],int,int)"
    - "[java.io.BufferedInputStream].read(byte[],int,int)"
    - "[java.io.FilterInputStream].read(byte[],int,int)"
    - "[org.objenesis.instantiator.basic.ObjectInputStreamInstantiator$MockStream].read(byte[],int,int)"
    - "[java.util.zip.ZipInputStream].read(byte[],int,int)"
    - "[java.io.ByteArrayInputStream].read(byte[],int,int)"
    - "[java.io.InputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$BlockDataInputStream].read(byte[],int,int)"
    - "[javax.crypto.CipherInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream].read(byte[],int,int)"
    - "[java.io.DataInputStream].read(byte[],int,int)"
    - "[java.util.jar.JarInputStream].read(byte[],int,int)"
    - "[java.io.FileInputStream].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInputStream].read(byte[],int,int)"
    - "[java.util.zip.InflaterInputStream].read(byte[],int,int)"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].read(byte[],int,int)"
    - "[java.io.InputStream$1].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$PeekInputStream].read(byte[],int,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.nio.ByteBuffer].put(byte[],int,int)"
    functionUses: 4
    ICount: 36
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:142"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:144"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "min(int,int)"
        - "read(byte[],int,int)"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:143"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:145"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:144"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:157"
        BranchSideFuncs:
        - "min(int,int)"
        - "read(byte[],int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:156"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:153"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:152"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:157"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "min(int,int)"
        - "read(byte[],int,int)"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:145,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:148,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:148,1"
      Dst: "[java.io.InputStream].read(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:153,1"
      Dst: "[java.nio.ByteBuffer].put(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:159,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 200
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].fill(java.nio.ByteBuffer,int,int)"
    - "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.nio.ByteBuffer].compact()"
    functionUses: 81
    ICount: 61
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:165"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:166"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:165"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:166"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:170"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:171"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:182"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:173"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:174"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:173"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:182"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:190"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:194"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:193"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:191"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:192"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:191"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:195"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:188"
        BranchSideFuncs:
        - "fill(java.nio.ByteBuffer,int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:166,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:172,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].fill(java.nio.ByteBuffer,int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:173,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:174,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:183,1"
      Dst: "[java.nio.ByteBuffer].compact()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].fill(java.nio.ByteBuffer,int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[java.nio.ByteBuffer].compact()"
    functionUses: 17
    ICount: 59
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:208"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:209"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:208"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:214"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:215"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:214"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:214"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:209"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:208"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:216"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:222"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:221"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:229"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:230"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:229"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:231"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:227"
        BranchSideFuncs:
        - "fill(java.nio.ByteBuffer,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:235"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:232"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "min(int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:209,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:212,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].fill(java.nio.ByteBuffer,int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:213,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:222,1"
      Dst: "[java.nio.ByteBuffer].compact()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].read()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 3
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:241"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:242"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:241"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:241,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:243,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:247,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].read(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.nio.ByteBuffer].get(byte[],int,int)"
    functionUses: 2
    ICount: 36
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:251"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:252"
        BranchSideFuncs:
        - "min(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:251"
        BranchSideFuncs:
        - "min(int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:258"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:259"
        BranchSideFuncs:
        - "optional(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:258"
        BranchSideFuncs:
        - "optional(int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:261"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:265"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:263"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:267"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:266"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:251,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:253,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:255,1"
      Dst: "[java.nio.ByteBuffer].get(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:260,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setPosition(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:273,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setLimit(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferLimit(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:278,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferLimit(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferLimit(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].limit(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:314,1"
      Dst: "[java.nio.Buffer].limit(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].skip(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].skip(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:282,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].skip(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:283,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].skip(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:173"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:172"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:168,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:174,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].skip(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(long,long)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].skip(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:288"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:293"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:289,1"
      Dst: "[java.lang.Math].min(long,long)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:290,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].skip(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterInputStream].close()"
    - "[java.io.FileInputStream].close()"
    - "[java.util.zip.ZipInputStream].close()"
    - "[com.esotericsoftware.kryo.io.Input].close()"
    - "[java.io.ObjectInputStream$PeekInputStream].close()"
    - "[javax.crypto.CipherInputStream].close()"
    - "[java.io.ByteArrayInputStream].close()"
    - "[java.io.InputStream$1].close()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].close()"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].close()"
    - "[java.util.zip.InflaterInputStream].close()"
    - "[java.io.ObjectInputStream$BlockDataInputStream].close()"
    - "[java.io.BufferedInputStream].close()"
    - "[java.io.InputStream].close()"
    - "[java.util.jar.Manifest$FastInputStream].close()"
    - "[java.io.ObjectInputStream].close()"
    functionUses: 7
    ICount: 8
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:297"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:302"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:299,1"
      Dst: "[java.io.InputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.nio.Buffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    functionUses: 11
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:306,1"
      Dst: "[java.nio.Buffer].position()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].flipBuffer(java.nio.Buffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.Buffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].flip()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:318,1"
      Dst: "[java.nio.Buffer].flip()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionDepth: 3
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 15
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:324"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:325"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:324"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:324,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:326,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readByteUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:330"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:331"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:330"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:330,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:332,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionDepth: 4
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(byte[],int,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:337,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get(byte[],int,int)"
    functionUses: 2
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:342"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:343"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:342"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:348"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:349"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:348"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:342,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:343,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:345,1"
      Dst: "[java.nio.ByteBuffer].get(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:351,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.IllegalStateException].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 3
    ICount: 65
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:356"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:356"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:355"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:356"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:357"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:356"
        BranchSideFuncs:
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:356,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:356,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:357,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:362,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:376,1"
      Dst: "[java.lang.IllegalStateException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 9
    ICount: 29
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:382,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:385,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 391
    functionLinenumberEnd: 414
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 33
    ICount: 54
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:392"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:393"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:392"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:395"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:412"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:411"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:399"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:412"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:411"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:402"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:412"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:411"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:405"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:412"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:411"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:413"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:411"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:392,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:392,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt_slow(boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:393,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:412,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 417
    functionLinenumberEnd: 447
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 81
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:421"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:446"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:445"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:422"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:423"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:422"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:427"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:446"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:445"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:428"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:429"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:428"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:432"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:446"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:445"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:433"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:434"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:433"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:437"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:446"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:445"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:438"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:439"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:438"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:446"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:445"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:419,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:422,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].canReadVarInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.nio.ByteBuffer].get(int)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:450"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:451"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:450"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:451"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:452"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:451"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:454"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:455"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:454"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:455"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:456"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:455"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:456"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:457"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:456"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:457"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:458"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:457"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:458"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:459"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:458"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:459"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:460"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:459"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:460"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:461"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:460"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:461"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:462"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:461"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:451,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:454,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get(int)"
    functionUses: 6
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:468"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:469"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:468"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:469"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:468"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:468,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:469,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 474
    functionLinenumberEnd: 497
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 6
    ICount: 53
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:475"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:476"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:475"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:478"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:495"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:494"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:482"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:495"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:494"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:485"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:495"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:494"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:488"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:495"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:494"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:496"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:494"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:475,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:475,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag_slow(boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:476,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:495,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 500
    functionLinenumberEnd: 530
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 80
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:504"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:529"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:528"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:505"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:506"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:505"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:510"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:529"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:528"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:511"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:512"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:511"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:515"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:529"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:528"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:516"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:517"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:516"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:520"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:529"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:528"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:521"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:522"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:521"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:529"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:528"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:502,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:505,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 10
    ICount: 52
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:535,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:538,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 548
    functionLinenumberEnd: 587
    functionDepth: 4
    returnType: "long"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 10
    ICount: 88
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:549"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:550"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:549"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:552"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:556"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:559"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:562"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:565"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:568"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:571"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:574"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:585"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:586"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:584"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:549,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:549,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong_slow(boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:550,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:585,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 590
    functionLinenumberEnd: 644
    functionDepth: 3
    returnType: "long"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 147
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:594"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:595"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:596"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:595"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:600"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:601"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:602"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:601"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:605"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:606"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:607"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:606"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:610"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:611"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:612"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:611"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:615"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:616"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:617"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:616"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:620"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:621"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:622"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:621"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:625"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:626"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:627"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:626"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:630"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:631"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:632"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:631"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:643"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:642"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:592,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:595,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 18
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].canReadVarLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.nio.ByteBuffer].get(int)"
    functionUses: 0
    ICount: 77
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:647"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:648"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:647"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:648"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:649"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:648"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:651"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:652"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:651"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:652"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:653"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:652"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:653"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:654"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:653"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:654"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:655"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:654"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:655"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:656"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:655"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:656"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:657"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:656"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:657"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:658"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:657"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:658"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:659"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:658"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:659"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:660"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:661"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:660"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:661"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:662"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:661"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:662"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:663"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:662"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:663"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:664"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:663"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:664"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:665"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:664"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:665"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:666"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:665"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:666"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:667"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:666"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:648,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:651,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 37
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionDepth: 3
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 6
    ICount: 30
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:673,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:677,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:677,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 685
    functionLinenumberEnd: 698
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 7
    ICount: 53
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:686,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:690,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:690,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 702
    functionLinenumberEnd: 706
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 12
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:703"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:704"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:703"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:705"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:703"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:703,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:705,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionDepth: 3
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:711,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:713,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readShortUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:717,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:719,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionDepth: 3
    returnType: "char"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:725,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:727,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 732
    functionLinenumberEnd: 745
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - "[java.lang.String].<init>(char[],int,int)"
    functionUses: 25
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:733"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:734"
        BranchSideFuncs:
        - "readVarIntFlag(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:733,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:733,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:735,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:743,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:744,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[java.lang.String].<init>(char[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAscii_slow(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 4
    ICount: 32
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:824"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:833"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:832"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
        - "readAscii_slow(int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:826"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:null"
        BranchSideFuncs:
        - "<init>(char[],int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:824,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:825,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:827,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:829,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:834,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readAscii_slow(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readAscii_slow(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 837
    functionLinenumberEnd: 856
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.String].<init>(char[],int,int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 35
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:841"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:842"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:841"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:844"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:null"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:850"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:854"
        BranchSideFuncs:
        - "<init>(char[],int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:853"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:841,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:843,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:846,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:852,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 764
    functionLinenumberEnd: 783
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars_slow(int,int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 4
    ICount: 30
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:765"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:766"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:765"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:771"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:776"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:775"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:773"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:774"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:773"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:778"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:782"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "readUtf8Chars_slow(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:781"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:770,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:770,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:772,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:779,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:780,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars_slow(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars_slow(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 784
    functionLinenumberEnd: 819
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 60
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:787"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:818"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:817"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:788"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:789"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:788"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:804"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:805"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:804"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:788,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:790,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readStringBuilder()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionDepth: 5
    returnType: "java.lang.StringBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char[],int,int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:748"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:749"
        BranchSideFuncs:
        - "readVarIntFlag(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:748,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:748,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:748,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:750,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:758,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:759,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:760,1"
      Dst: "[java.lang.StringBuilder].append(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readInts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 860
    functionLinenumberEnd: 876
    functionDepth: 4
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 1
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:862"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:872"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:871"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:864"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:869"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:872"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:874"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:862,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:865,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:870,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:873,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readLongs(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 878
    functionLinenumberEnd: 898
    functionDepth: 4
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 2
    ICount: 68
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:880"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:894"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:893"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:882"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:891"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:894"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:896"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:880,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:883,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:892,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:895,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloats(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 900
    functionLinenumberEnd: 916
    functionDepth: 4
    returnType: "float[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 1
    ICount: 46
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:902"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:912"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:911"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:904"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:909"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:912"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:914"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:902,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:905,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:905,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:910,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:913,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readDoubles(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 918
    functionLinenumberEnd: 938
    functionDepth: 4
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 1
    ICount: 69
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:920"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:934"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:933"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:922"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:931"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:934"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:936"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:920,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:923,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:923,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:932,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:935,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readShorts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 940
    functionLinenumberEnd: 952
    functionDepth: 4
    returnType: "short[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 1
    ICount: 34
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:942"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:948"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:947"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:944"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:945"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:948"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:950"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:942,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:945,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:946,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:949,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readChars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: 954
    functionLinenumberEnd: 966
    functionDepth: 4
    returnType: "char[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 1
    ICount: 34
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:956"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:962"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:961"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:958"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:959"
        BranchSideFuncs:
        - "getBufferPosition(java.nio.Buffer)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:962"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:964"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:956,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:959,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:960,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:963,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBooleans(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.nio.ByteBuffer].get()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:970"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:976"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:975"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:972"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:974"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:973"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:973"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:973"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:972"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInput:976"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInput:978"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:970,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:973,1"
      Dst: "[java.nio.ByteBuffer].get()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:974,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInput:977,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.GenericsUtil].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.GenericsUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:32,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionSourceFile: "com.esotericsoftware.kryo.util.GenericsUtil"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 72
    functionDepth: 2
    returnType: "java.lang.reflect.Type"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.reflect.Type"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[java.lang.reflect.ParameterizedType].getRawType()"
    - "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    - "[java.lang.reflect.WildcardType].getUpperBounds()"
    - "[java.lang.reflect.WildcardType].getLowerBounds()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.reflect.Type)"
    functionUses: 7
    ICount: 60
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:38"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:40"
        BranchSideFuncs:
        - "resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:41"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:43"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:44"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:46"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:47"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:61"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:60"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:51"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:52"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:51"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:55"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:56"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:55"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:56"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:57"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int[])"
        - "getClass()"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:56"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int[])"
        - "getClass()"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:61"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:70"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:65"
        BranchSideFuncs:
        - "resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:64"
        BranchSideFuncs:
        - "resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:67"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:41,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:44,1"
      Dst: "[java.lang.reflect.ParameterizedType].getRawType()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:50,1"
      Dst: "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:54,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:56,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:56,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:57,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int[])"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:63,1"
      Dst: "[java.lang.reflect.WildcardType].getUpperBounds()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:65,1"
      Dst: "[java.lang.reflect.WildcardType].getLowerBounds()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:71,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 23
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.GenericsUtil"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 115
    functionDepth: 1
    returnType: "java.lang.reflect.Type"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.reflect.Type"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getGenericSuperclass()"
    - "[java.lang.Class].getSuperclass()"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    - "[java.lang.Class].toString()"
    - "[java.lang.Class].getTypeParameters()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[java.lang.Object].toString()"
    - "[java.lang.reflect.TypeVariable].getName()"
    - "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    functionUses: 2
    ICount: 46
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:81"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:83"
        BranchSideFuncs:
        - "getSuperclass()"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:85"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:92"
        BranchSideFuncs:
        - "resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:91"
        BranchSideFuncs:
        - "getTypeParameters()"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:88"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:87"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:94"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:114"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:113"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:96"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:91"
        BranchSideFuncs:
        - "getTypeParameters()"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:101"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:102"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:101"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:103"
        BranchSideFuncs:
        - "resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:102"
        BranchSideFuncs:
        - "resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:104"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:105"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:92"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:91"
        BranchSideFuncs:
        - "getTypeParameters()"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:106"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:107"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:80,1"
      Dst: "[java.lang.Class].getGenericSuperclass()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:84,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:86,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeVariable(java.lang.Class,java.lang.Class,java.lang.reflect.Type,boolean)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:92,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:93,1"
      Dst: "[java.lang.Class].getTypeParameters()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:96,1"
      Dst: "[java.lang.reflect.TypeVariable].getName()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:96,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:98,1"
      Dst: "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:102,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeParameters(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionSourceFile: "com.esotericsoftware.kryo.util.GenericsUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.reflect.Type[]"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.reflect.Type"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeParameters(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:128"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:141"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.GenericsUtil:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.GenericsUtil:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:125,1"
      Dst: "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:129,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:136,1"
      Dst: "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    - Src: "com.esotericsoftware.kryo.util.GenericsUtil:139,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveTypeParameters(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getJavaSerializerIfRequired(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].writeExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:52"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:55"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:51,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:51,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getJavaSerializerIfRequired(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].writeExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.serializers.JavaSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getJavaSerializerIfRequired(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.serializers.JavaSerializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getCachedSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].isJavaSerializerRequired(java.lang.Class)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:105"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:105"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getCachedSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].isJavaSerializerRequired(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.JavaSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getCachedSerializer(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.serializers.JavaSerializer"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:109"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:113"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:112"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:110,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:113,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    functionUses: 5
    ICount: 16
    EdgeCount: 203
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:180"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:179"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:180"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:176"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:177,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:180,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].isJavaSerializerRequired(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].hasInheritableReplaceMethod(java.lang.Class,java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:117"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:116"
        BranchSideFuncs:
        - "hasInheritableReplaceMethod(java.lang.Class,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:117"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:116"
        BranchSideFuncs:
        - "hasInheritableReplaceMethod(java.lang.Class,java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].hasInheritableReplaceMethod(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].hasInheritableReplaceMethod(java.lang.Class,java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.Class].getSuperclass()"
    - "[java.lang.reflect.Method].getReturnType()"
    functionUses: 2
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:131"
        BranchSideFuncs:
        - "getReturnType()"
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:131"
        BranchSideFuncs:
        - "getReturnType()"
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:131"
        BranchSideFuncs:
        - "getReturnType()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:126,1"
      Dst: "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:129,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:132,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.JavaSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.JavaSerializer"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:42,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].writeExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectOutput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    - "[java.io.Externalizable].writeExternal(java.io.ObjectOutput)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:66,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectOutput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:66,1"
      Dst: "[java.io.Externalizable].writeExternal(java.io.ObjectOutput)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectOutput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.io.ObjectOutput"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.KryoObjectOutput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    - "[com.esotericsoftware.kryo.io.KryoDataOutput].setOutput(com.esotericsoftware.kryo.io.Output)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:83"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:86"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:84,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoObjectOutput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:86,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoDataOutput].setOutput(com.esotericsoftware.kryo.io.Output)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectOutput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.KryoDataOutput].<init>(com.esotericsoftware.kryo.io.Output)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectOutput:37,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoDataOutput].<init>(com.esotericsoftware.kryo.io.Output)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].<init>(com.esotericsoftware.kryo.io.Output)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].setOutput(com.esotericsoftware.kryo.io.Output)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.JavaSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.JavaSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - "[java.io.ObjectOutputStream].flush()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.JavaSerializer:47"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.JavaSerializer:51"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.JavaSerializer:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:46,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:48,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:49,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:51,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:52,1"
      Dst: "[java.io.ObjectOutputStream].flush()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:54,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.ObjectMap"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1214"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1215"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1214"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1214,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 16
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:32,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getJavaSerializerIfRequired(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].readExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 13
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:61"
        BranchSideFuncs:
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:60"
        BranchSideFuncs:
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:59,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getJavaSerializerIfRequired(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:60,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].readExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:61,1"
      Dst: "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].readExternal(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectInput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - "[java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType].readExternal(java.io.ObjectInput)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.io.Externalizable].readExternal(java.io.ObjectInput)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:74,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:75,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectInput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:75,1"
      Dst: "[java.io.Externalizable].readExternal(java.io.ObjectInput)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:78,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].getObjectInput(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionDepth: 2
    returnType: "java.io.ObjectInput"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.KryoObjectInput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.io.KryoDataInput].setInput(com.esotericsoftware.kryo.io.Input)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:91"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:94"
        BranchSideFuncs:
        - "<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:93"
        BranchSideFuncs:
        - "setInput(com.esotericsoftware.kryo.io.Input)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:92,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoObjectInput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.ExternalizableSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoDataInput].setInput(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].<init>(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.KryoDataInput].<init>(com.esotericsoftware.kryo.io.Input)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:36,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoDataInput].<init>(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].<init>(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].setInput(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.JavaSerializer"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader].<init>(java.io.InputStream,com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 14
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.JavaSerializer:62"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.JavaSerializer:null"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(java.io.InputStream,com.esotericsoftware.kryo.Kryo)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:60,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:61,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:63,1"
      Dst: "[com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader].<init>(java.io.InputStream,com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:64,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:66,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader].<init>(java.io.InputStream,com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:80,1"
      Dst: "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:42,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:48,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].set(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].set(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:52,1"
      Dst: "[java.lang.reflect.Field].set(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 79
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:62"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:72"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:68"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:67"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:69"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:70"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:69"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:73"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:78"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:77"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:78"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:77"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:78"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:77"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:82"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:81"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:86"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:58,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:61,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:65,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:68,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:69,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:70,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:70,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:71,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:74,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:80,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:84,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:84,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:84,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:89,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:91,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:93,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:99,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:99,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:102,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionDepth: 2
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].getArrayType(java.lang.Class)"
    - "[java.lang.reflect.Field].getType()"
    - "[java.lang.Class].isArray()"
    functionUses: 2
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:153"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:159"
        BranchSideFuncs:
        - "getGenerics()"
        - "isFinal(java.lang.Class)"
        - "resolve(com.esotericsoftware.kryo.util.Generics)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:158"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:159"
        BranchSideFuncs:
        - "getArrayType(java.lang.Class)"
        - "getType()"
        - "isArray()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:158"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:159"
        BranchSideFuncs:
        - "getArrayType(java.lang.Class)"
        - "getType()"
        - "isArray()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:158"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:156"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:155"
        BranchSideFuncs:
        - "getArrayType(java.lang.Class)"
        - "getType()"
        - "isArray()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:154,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:154,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:155,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:156,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:156,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:156,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getArrayType(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1291
    functionLinenumberEnd: 1293
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.Generics"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 24
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.Generics"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    - "[com.esotericsoftware.kryo.util.NoGenerics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    - "[com.esotericsoftware.kryo.util.Generics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    functionUses: 5
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:214"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:215"
        BranchSideFuncs:
        - "resolveTypeVariable(java.lang.reflect.TypeVariable)"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:214"
        BranchSideFuncs:
        - "resolveTypeVariable(java.lang.reflect.TypeVariable)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:215,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - "[java.lang.Class].getModifiers()"
    - "[java.lang.Class].isArray()"
    - "[java.lang.reflect.Modifier].isFinal(int)"
    functionUses: 7
    ICount: 15
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1251"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1252"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "isArray()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1251"
        BranchSideFuncs:
        - "getElementClass(java.lang.Class)"
        - "isArray()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1252"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1253"
        BranchSideFuncs:
        - "getModifiers()"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1252"
        BranchSideFuncs:
        - "getModifiers()"
        - "isFinal(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1251,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1252,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.esotericsoftware.kryo.Kryo:1252,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getElementClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:1252,1"
      Dst: "[java.lang.Class].getModifiers()"
    - Src: "com.esotericsoftware.kryo.Kryo:1252,1"
      Dst: "[java.lang.reflect.Modifier].isFinal(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.ClassResolver].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:611"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:613"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:612"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:615"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:613"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:612"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:615"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:613"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:612"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:615"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:616"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:615"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:615"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:616"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:615"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:611,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:613,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:615,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 56
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:635"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:636"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:635"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:636"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:637"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:636"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:637"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:638"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:637"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:640"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:641"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:640"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:640"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:641"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:640"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:644"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:638"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:637"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:644"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:638"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:637"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:641"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:641"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:640"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:641"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:642"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:641"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:641"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:642"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:641"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:644"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:646"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:645"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:644"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:646"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:645"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:635"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:645"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:644"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:635"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:645"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:644"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:635,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:638,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:640,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:644,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:641,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:641,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:642,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 24
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1074
    functionLinenumberEnd: 1084
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].currentThread()"
    - "[java.util.ConcurrentModificationException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 5
    ICount: 26
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1075"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1081"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1080"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1076"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1078"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1077"
        BranchSideFuncs:
        - "currentThread()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1078"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1081"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1080"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:1081"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1082"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1081"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1077,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "com.esotericsoftware.kryo.Kryo:1079,1"
      Dst: "[java.util.ConcurrentModificationException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1081,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:1081,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].getWrittenId(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].addWrittenObject(java.lang.Object)"
    functionUses: 0
    ICount: 59
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:720"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:726"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:725"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:721"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:721"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:720"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:721"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:722"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:721"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:721"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:722"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:721"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:726"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:735"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:734"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:727"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:731"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:730"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:728"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:729"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:728"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:738"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:745"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:744"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:739"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:740"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:739"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:746"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:747"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:746"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:748"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:749"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:748"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:721,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:721,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:722,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.Kryo:726,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:726,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:728,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:728,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:728,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:735,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].getWrittenId(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:739,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:739,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:739,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:740,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:745,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].addWrittenObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 9
  - functionName: "[com.esotericsoftware.kryo.io.Output].position()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 79
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:676"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:677"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:676"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:677"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:678"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:677"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:680"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:682"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:681"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:681"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:681"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:680"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:681"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:680"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:682"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:683"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:684"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:683"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:684"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:684"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:688"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:691"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:691"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:691"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:685"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:684"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:694"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:676"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:695"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:694"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:676"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:695"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:694"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:676,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:678,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:681,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:694,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:682,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - Src: "com.esotericsoftware.kryo.Kryo:684,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:684,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:685,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.Kryo:688,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:688,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:688,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:692,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 35
    CyclomaticComplexity: 17
  - functionName: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1219
    functionLinenumberEnd: 1221
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 151
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].set(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField].set(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField].set(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.util.NoGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 4
    ICount: 68
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:125"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:122"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:121"
        BranchSideFuncs:
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:122"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:123"
        BranchSideFuncs:
        - "getType()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:122"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:131"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:130"
        BranchSideFuncs:
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:129"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:131"
        BranchSideFuncs:
        - "set(java.lang.Object,java.lang.Object)"
        - "getSerializer(java.lang.Class)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "getSerializer()"
        - "<init>(java.lang.Throwable)"
        - "getGenerics()"
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
        - "getName()"
        - "getType()"
        - "popGenericType()"
        - "addTrace(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:130"
        BranchSideFuncs:
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:129"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:131"
        BranchSideFuncs:
        - "set(java.lang.Object,java.lang.Object)"
        - "getSerializer(java.lang.Class)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "getSerializer()"
        - "<init>(java.lang.Throwable)"
        - "getGenerics()"
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
        - "getName()"
        - "getType()"
        - "popGenericType()"
        - "addTrace(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:130"
        BranchSideFuncs:
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:135"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField:134"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:114,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:117,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:119,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].set(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:122,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:123,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:123,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:124,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:124,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:127,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:133,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:137,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:141,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:141,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:143,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:146,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.ClassResolver].readClass(com.esotericsoftware.kryo.io.Input)"
    functionUses: 8
    ICount: 21
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:756"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:758"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "reset()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:757"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "reset()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:760"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:758"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:757"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "reset()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:760"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:758"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:757"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "reset()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:760"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:761"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:760"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:760"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:761"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:760"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:756,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:758,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.Kryo:760,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Registration].getType()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 15
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].set(java.lang.Object,java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:164,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:164,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:164,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].set(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:166,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:166,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:168,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField:171,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalDouble)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.OptionalDouble"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.OptionalDouble].isPresent()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[java.util.OptionalDouble].getAsDouble()"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:94"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:95"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:93,1"
      Dst: "[java.util.OptionalDouble].isPresent()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:93,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:94,1"
      Dst: "[java.util.OptionalDouble].getAsDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:678"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:679"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:678"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:679"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:679"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:678"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:678,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.Double].doubleToLongBits(double)"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:629,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:633,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionDepth: 4
    returnType: "java.util.OptionalDouble"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.util.OptionalDouble].empty()"
    - "[java.util.OptionalDouble].of(double)"
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    functionUses: 13
    ICount: 11
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:99"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:97"
        BranchSideFuncs:
        - "of(double)"
        - "empty()"
        - "readBoolean()"
        - "readDouble()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:98,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:99,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:99,1"
      Dst: "[java.util.OptionalDouble].of(double)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:99,1"
      Dst: "[java.util.OptionalDouble].empty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 12
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:805"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:806"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:805"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:806"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:805"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:805,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 6
    ICount: 60
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:754,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:758,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalDouble)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalDouble)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - "[java.lang.Class].getComponentType()"
    - "[java.lang.Class].getModifiers()"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].setElementsAreSameType(boolean)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:311"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:308"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:307"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:312"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:313"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:312"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:308,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:305,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:310,1"
      Dst: "[java.lang.Class].getComponentType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:311,1"
      Dst: "[java.lang.Class].getModifiers()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:312,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].setElementsAreSameType(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getComponentType()"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:316"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:320"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:319"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:323"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:324"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:323"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:323"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:333"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:332"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:325"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:329"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:328"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:326"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:325"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:329"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:331"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:333"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:335"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:317,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:321,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:322,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:322,1"
      Dst: "[java.lang.Class].getComponentType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:323,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:324,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:327,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:330,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:334,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:701"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:702"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:701"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:704"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:709"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:709"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:710"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:710"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:710"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:715"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:714"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:715"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:714"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:701"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:714"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:713"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:701"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:714"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:713"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:701,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:702,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:705,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:713,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:708,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:709,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:710,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:710,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:711,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:711,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 12
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionDepth: 7
    returnType: "java.lang.Object[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[java.lang.Class].getComponentType()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 42
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:340"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:null"
        BranchSideFuncs:
        - "isFinal(java.lang.Class)"
        - "newInstance(java.lang.Class,int)"
        - "getComponentType()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:346"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:345"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:355"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:354"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:347"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:351"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:350"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:348"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:347"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:351"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:353"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:355"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:357"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:339,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:342,1"
      Dst: "[java.lang.Class].getComponentType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:342,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:343,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:345,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:346,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:349,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:352,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:356,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 865
    functionLinenumberEnd: 886
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 17
    ICount: 68
    EdgeCount: 186
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:866"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:867"
        BranchSideFuncs:
        - "beginObject()"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:866"
        BranchSideFuncs:
        - "beginObject()"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:870"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:871"
        BranchSideFuncs:
        - "getType()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:870"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:867"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:866"
        BranchSideFuncs:
        - "beginObject()"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:867"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:866"
        BranchSideFuncs:
        - "beginObject()"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:874"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:876"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:874"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:874"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:878"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:881"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:881"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:881"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:876"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:875"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:885"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:884"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:885"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:884"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:866,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:867,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:869,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.Kryo:884,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:871,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.Kryo:875,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:877,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:877,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:878,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:881,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:881,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 13
  - functionName: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 890
    functionLinenumberEnd: 929
    functionDepth: 5
    returnType: "int"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].nextReadId(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].nextReadId(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].nextReadId(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].getReadObject(java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].getReadObject(java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].getReadObject(java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].nextReadId(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].getReadObject(java.lang.Class,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 5
    ICount: 82
    EdgeCount: 33
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:891"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:892"
        BranchSideFuncs:
        - "useReferences(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:891"
        BranchSideFuncs:
        - "useReferences(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:894"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:906"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:905"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:896"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:901"
        BranchSideFuncs:
        - "log(java.lang.String,java.lang.Object,int)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:900"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:897"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:897"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:896"
        BranchSideFuncs:
        - "log(java.lang.String,java.lang.Object,int)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:897"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:898"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:897"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:897"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:898"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:897"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:901"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:912"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:911"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:906"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:910"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:909"
        BranchSideFuncs:
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:912"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:913"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:915"
        BranchSideFuncs:
        - "add(int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "trace(java.lang.String,java.lang.String)"
        - "getReadObject(java.lang.Class,int)"
        - "log(java.lang.String,java.lang.Object,int)"
        - "nextReadId(java.lang.Class)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:914"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "nextReadId(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:916"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:917"
        BranchSideFuncs:
        - "add(int)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:916"
        BranchSideFuncs:
        - "add(int)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:927"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:891,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.Kryo:891,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:892,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:895,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:897,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:897,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:902,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:913,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:913,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:913,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:915,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].nextReadId(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:916,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:916,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:923,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].getReadObject(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:925,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:925,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.Kryo:927,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].string(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:927,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.io.Input].position()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 22
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 4
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:78"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:79"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:78,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:78,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionDepth: 0
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.Math].min(int,int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:302,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:302,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.lang.Object[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getComponentType()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:365"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:366"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:363,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:363,1"
      Dst: "[java.lang.Class].getComponentType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:363,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:364,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:366,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].setElementsCanBeNull(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].setElementsAreSameType(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:299,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer:299,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:165,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:166,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:170,1"
      Dst: "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:170,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField"
    linkageType: ""
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:174,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:174,1"
      Dst: "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:178,1"
      Dst: "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField:178,1"
      Dst: "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferOverflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferOverflowException:27,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferOverflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferOverflowException:31,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferOverflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferOverflowException:39,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectOutput].writeObject(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectOutput:42,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectOutput].flush()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectOutput:46,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectOutput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].close()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectOutput:50,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].close()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    - "[java.io.OutputStream].close()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:223"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:217,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    - Src: "com.esotericsoftware.kryo.io.Output:220,1"
      Dst: "[java.io.OutputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.BitSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.BitSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.BitSet].toLongArray()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:971,1"
      Dst: "[java.util.BitSet].toLongArray()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:972,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:973,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "long[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 64
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:848"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:847"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:835"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:845"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:848"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:850"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:832,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:849,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 46
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:459,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionDepth: 5
    returnType: "java.util.BitSet"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.io.Input].readLongs(int)"
    - "[java.util.BitSet].valueOf(long[])"
    functionUses: 13
    ICount: 8
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:977,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:978,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLongs(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:979,1"
      Dst: "[java.util.BitSet].valueOf(long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readLongs(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 977
    functionLinenumberEnd: 998
    functionDepth: 4
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionUses: 2
    ICount: 76
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:979"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:994"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:993"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:982"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:991"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:994"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:996"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:979,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:995,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 235
    functionLinenumberEnd: 265
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.InputChunked].fill(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 9
    ICount: 56
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:237"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:238"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:237"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:245"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:244"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:238"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:237"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:246"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:252"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:251"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:258"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:259"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:258"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:260"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:256"
        BranchSideFuncs:
        - "fill(byte[],int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:264"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:262"
        BranchSideFuncs:
        - "min(int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:238,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:243,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:252,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.io.Input].readLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 9
    ICount: 59
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:584,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.BitSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.BitSet"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.BitSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.BitSet].toLongArray()"
    - "[java.util.BitSet].valueOf(long[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:983,1"
      Dst: "[java.util.BitSet].toLongArray()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:983,1"
      Dst: "[java.util.BitSet].valueOf(long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.BitSet)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:969,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.BitSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.BitSet)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer:969,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.BitSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$2].<init>(com.esotericsoftware.kryo.util.Pool,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.util.Pool"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedList].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$2:55,1"
      Dst: "[java.util.LinkedList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$2].add(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$2"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedList].size()"
    - "[java.util.LinkedList].add(java.lang.Object)"
    functionUses: 5
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Pool$2:57"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$2:58"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$2:57"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$2:57,1"
      Dst: "[java.util.LinkedList].size()"
    - Src: "com.esotericsoftware.kryo.util.Pool$2:58,1"
      Dst: "[java.util.LinkedList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].buildHierarchy(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].buildHierarchy(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].<init>(com.esotericsoftware.kryo.serializers.FieldSerializer)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].rebuild()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Generics].buildHierarchy(java.lang.Class)"
    functionUses: 4
    ICount: 31
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:73"
        BranchSideFuncs:
        - "isPrimitive()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:72"
        BranchSideFuncs:
        - "isPrimitive()"
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:73"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:74"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:73"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:74"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:75"
        BranchSideFuncs:
        - "getGenerics()"
        - "buildHierarchy(java.lang.Class)"
        - "rebuild()"
        - "<init>(com.esotericsoftware.kryo.serializers.FieldSerializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:74"
        BranchSideFuncs:
        - "getGenerics()"
        - "buildHierarchy(java.lang.Class)"
        - "rebuild()"
        - "<init>(com.esotericsoftware.kryo.serializers.FieldSerializer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:71,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:72,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:73,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:79,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:80,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].buildHierarchy(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:82,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].<init>(com.esotericsoftware.kryo.serializers.FieldSerializer)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].rebuild()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].initializeCachedFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getFieldSerializerConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].updateFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].rebuild()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:98"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:99"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:98"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:98,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:98,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:98,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:99,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].rebuild()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].rebuild()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isInterface()"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getModifiers()"
    - "[java.lang.reflect.Modifier].isPublic(int)"
    - "[java.lang.Class].getDeclaredFields()"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].addField(java.lang.reflect.Field,boolean,java.util.ArrayList,java.util.ArrayList)"
    - "[java.lang.Class].getSuperclass()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer:java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].initializeCachedFields()"
    functionUses: 1
    ICount: 67
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:94"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:93"
        BranchSideFuncs:
        - "<init>()"
        - "getModifiers()"
        - "isPublic(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-1"
        BranchSideFuncs:
        - "getModifiers()"
        - "isPublic(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-1"
        BranchSideFuncs:
        - "getModifiers()"
        - "isPublic(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-1"
        BranchSideFuncs:
        - "getModifiers()"
        - "isPublic(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:97"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:103"
        BranchSideFuncs:
        - "getDeclaredFields()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:102"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:98"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:99"
        BranchSideFuncs:
        - "getSuperclass()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:104"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:103"
        BranchSideFuncs:
        - "size()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:107"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:108"
        BranchSideFuncs:
        - "sort(java.lang.Object[],java.util.Comparator)"
        - "toArray(java.lang.Object[])"
        - "initializeCachedFields()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:107"
        BranchSideFuncs:
        - "sort(java.lang.Object[],java.util.Comparator)"
        - "toArray(java.lang.Object[])"
        - "initializeCachedFields()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:87,1"
      Dst: "[java.lang.Class].isInterface()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:90,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].initializeCachedFields()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:94,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:95,1"
      Dst: "[java.lang.Class].getModifiers()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:95,1"
      Dst: "[java.lang.reflect.Modifier].isPublic(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:98,1"
      Dst: "[java.lang.Class].getDeclaredFields()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:99,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].addField(java.lang.reflect.Field,boolean,java.util.ArrayList,java.util.ArrayList)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:100,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:103,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:104,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:105,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:106"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:117"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:116"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:107"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:107,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:107,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:109,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:113,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:113,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    - "[com.esotericsoftware.kryo.util.NoGenerics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.Generics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.util.Generics)"
    functionUses: 4
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:146"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:147"
        BranchSideFuncs:
        - "getGenerics()"
        - "trace(java.lang.String,java.lang.String)"
        - "pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:150"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:149"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:150"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:145,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:145,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.util.Generics)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:149,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - "[java.lang.reflect.Field].getType()"
    - "[com.esotericsoftware.kryo.util.Util].simpleName(java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[java.lang.Class].getSimpleName()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.reflect.Field].getDeclaringClass()"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 4
    ICount: 31
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:169"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:175"
        BranchSideFuncs:
        - "resolveFieldClass()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:174"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:173"
        BranchSideFuncs:
        - "simpleName(java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:172"
        BranchSideFuncs:
        - "simpleName(java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:175"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:178"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:177"
        BranchSideFuncs:
        - "getType()"
        - "getSimpleName()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].resolveFieldClass()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:172,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:173,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].simpleName(java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:176,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:181,1"
      Dst: "[java.lang.reflect.Field].getDeclaringClass()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:181,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:180,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].popTypeVariables(int)"
    - "[com.esotericsoftware.kryo.util.NoGenerics].popTypeVariables(int)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.util.Generics].popTypeVariables(int)"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:158"
        BranchSideFuncs:
        - "popTypeVariables(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:157"
        BranchSideFuncs:
        - "popGenericType()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:156,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popTypeVariables(int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:158,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    functionUses: 13
    ICount: 33
    EdgeCount: 35
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:127"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:138"
        BranchSideFuncs:
        - "log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:137"
        BranchSideFuncs:
        - "popTypeVariables(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:128"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:129"
        BranchSideFuncs:
        - "position()"
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:123,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:130,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:134,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:138,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:164,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getField(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:186"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:188"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:187"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:187"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:186"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:185"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:187,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:188,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:188,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:188,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:193,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 68
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:253"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:265"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:264"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:255"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:252"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:251"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:265"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:277"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:276"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:265"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:264"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:277"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:279"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:278"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:255,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:257,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:260,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:278,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:278,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:278,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:198,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 282
    functionLinenumberEnd: 311
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,java.lang.String)"
    functionUses: 1
    ICount: 64
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:296"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:295"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:286"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:283"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:282"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:296"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:308"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:307"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:298"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:296"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
        - "add(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:295"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:308"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:310"
        BranchSideFuncs:
        - "getName()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:309"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:288,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:291,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:309,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:309,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:309,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getCopyFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getKryo()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Kryo"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:222,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:222,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].copy(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer:229"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer:231"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:226,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:227,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer:230,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].copy(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:84,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getFloat(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:88,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getFloat(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:88,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setFloat(java.lang.Object,int,float)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:92,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:92,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setFloat(java.lang.Object,int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getFloat(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setFloat(java.lang.Object,int,float)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:96,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getFloat(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField:96,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setFloat(java.lang.Object,int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1059,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicLong)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.concurrent.atomic.AtomicLong"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1061,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1061,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionDepth: 4
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionUses: 13
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1065,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1065,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicLong)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.concurrent.atomic.AtomicLong"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1069,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1069,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicLong)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1059,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicLong)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicLong)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer:1059,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicLong)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:59,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:65,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    - "[java.lang.Integer].numberOfTrailingZeros(int)"
    - "[java.lang.Math].log(double)"
    - "[java.lang.Math].ceil(double)"
    - "[java.lang.Math].max(int,int)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.Math].sqrt(double)"
    functionUses: 0
    ICount: 70
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:71"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:72"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:71"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:73"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:72"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:75"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:76"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:75"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:76"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:70,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:71,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:73,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:75,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(float)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:83,1"
      Dst: "[java.lang.Integer].numberOfTrailingZeros(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:84,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:84,1"
      Dst: "[java.lang.Math].ceil(double)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:84,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:85,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:85,1"
      Dst: "[java.lang.Math].sqrt(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:93,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].<init>(int,float)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:95,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].put(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].put_internal(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:103"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:102,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:103,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].put_internal(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].put_internal(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].push(java.lang.Object,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object)"
    functionUses: 0
    ICount: 118
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:122"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:121"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:130"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:151"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:151"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:160"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:159"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:152"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:151"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:160"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:167"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:166"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:163"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:164"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:163"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:167"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:174"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:173"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:170"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:171"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:170"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:174"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:180"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:178"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:177"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:181"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:188"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:187"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:181"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:188"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:187"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:185"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:113,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:116,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:122,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:130,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:141,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:163,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:188,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].push(java.lang.Object,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 32
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].numberOfTrailingZeros(int)"
    - "[java.lang.Math].log(double)"
    - "[java.lang.Math].ceil(double)"
    - "[java.lang.Math].max(int,int)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.Math].sqrt(double)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].putResize(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:590"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:580"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:579"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:601"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:607"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:606"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:602"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:607"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:606"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:604"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:601"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:585,1"
      Dst: "[java.lang.Integer].numberOfTrailingZeros(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:586,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:586,1"
      Dst: "[java.lang.Math].ceil(double)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:586,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:587,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:587,1"
      Dst: "[java.lang.Math].sqrt(double)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:604,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].putResize(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].putResize(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].push(java.lang.Object,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object)"
    functionUses: 0
    ICount: 81
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:211"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:210"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:213"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:220"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:219"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:216"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:217"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:222"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:225"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:226"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:225"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:231"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:242"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:241"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:234"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:242"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:241"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:237"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:238"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:201,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:207,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:211,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:220,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:232,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:242,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].push(java.lang.Object,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].push(java.lang.Object,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object,int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 10
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    - "int"
    - "java.lang.Object"
    - "int"
    - "java.lang.Object"
    - "int"
    - "java.lang.Object"
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Random].nextInt(int)"
    - "[java.lang.Object].hashCode()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].putStash(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 115
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:257"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:247"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:291"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:298"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:297"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:294"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:295"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:294"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:300"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:307"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:306"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:303"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:304"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:303"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:309"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:316"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:315"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:312"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:313"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:312"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:316"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:327"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:326"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:319"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:327"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:326"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:322"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:323"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:327"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:328"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:260,1"
      Dst: "[java.util.Random].nextInt(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:288,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:294,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:298,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:307,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:317,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:333,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].putStash(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 30
    CyclomaticComplexity: 11
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].putStash(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].put_internal(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:337"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:343"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:339,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:340,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].put_internal(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].putAll(com.esotericsoftware.kryo.util.CuckooObjectMap<K,V>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap<K,V>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].ensureCapacity(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].entries()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:194"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:196"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:193,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].ensureCapacity(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:194,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].entries()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:194,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].iterator()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:194,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:194,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:195,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].ensureCapacity(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:576"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:577"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:576"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:576,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:576,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:812"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].entries()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:653,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entry].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:722,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:719,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entry].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:681,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:683,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:689,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator"
    linkageType: ""
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:695"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:701"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:700"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:696"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:693"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:692"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entry].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entry:666,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object)"
    functionUses: 0
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:354"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:368"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:367"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:356"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:368"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:367"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:358"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:368"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:367"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:359"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:363"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:362"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:361"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:367"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:352,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:354,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:355,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:357,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:360,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:361,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:373"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:375"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:374"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:374"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:372"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:371"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:374,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].get(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:382"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:396"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:395"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:384"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:396"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:395"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:386"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:396"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:395"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:387"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:391"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:390"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:389"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:395"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:380,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:382,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:383,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:385,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:388,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:389,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].getStash(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:401"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:403"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:402"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:402"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:400"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:399"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:402,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].remove(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStash(java.lang.Object)"
    functionUses: 0
    ICount: 68
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:409"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:417"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:416"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:418"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:426"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:425"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:427"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:435"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:434"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:435"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:446"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:445"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:437"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:446"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:445"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:407,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:409,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:417,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:426,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:436,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:446,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStash(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStash(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStashIndex(int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:451"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:459"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:458"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:452"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:450"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:449"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:452,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:454,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStashIndex(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStashIndex(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:466"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:471"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:470"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].shrink(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:477"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:478"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:477"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:478"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:479"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:478"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:479"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:480"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:479"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:477,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:477,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:480,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].nextPowerOfTwo(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:481,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].clear(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].clear()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:486"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:490"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:489"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:487,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].clear()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:491,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:497"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:501"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:500"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].containsValue(java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 43
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:511"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:510"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:509"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:513"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:515"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:514"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:514"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:514"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:511"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:519"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:518"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:516"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:516"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:515"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:517"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:515"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:519"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:522"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:521"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:520"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:518"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:520,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].containsKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].containsKeyStash(java.lang.Object)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:528"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:542"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:541"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:530"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:542"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:541"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:532"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:542"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:541"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:533"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:537"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:536"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:535"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:541"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:526,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:528,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:529,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash2(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:531,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash3(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:534,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].hash4(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:535,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].containsKeyStash(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].containsKeyStash(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:547"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:549"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:548"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:548"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:546"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:545"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:548,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].findKey(java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 48
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:558"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:557"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:556"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:560"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:562"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:561"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:561"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:561"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:558"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:566"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:565"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:563"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:563"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:562"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:564"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:562"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:566"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:569"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:568"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:567"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:565"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:567,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: 624
    functionLinenumberEnd: 649
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 38
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:625"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:626"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:625"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:631"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:633"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:634"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:633"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:639"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:646"
        BranchSideFuncs:
        - "append(char)"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap:641"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:642"
        BranchSideFuncs:
        - "append(java.lang.Object)"
        - "append(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap:641"
        BranchSideFuncs:
        - "append(java.lang.Object)"
        - "append(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:626,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:627,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:634,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:642,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:648,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].values()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:658,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:747,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap].keys()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap:663,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.CuckooObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:783,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.CuckooObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:33,1"
      Dst: "[java.io.OutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].allocate(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].<init>(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:38,1"
      Dst: "[java.nio.ByteBuffer].allocate(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:38,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].<init>(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].<init>(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:41,1"
      Dst: "[java.io.OutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].getByteBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.nio.ByteBuffer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].setByteBuffer(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].hasRemaining()"
    - "[java.io.OutputStream].flush()"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:54"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:55"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:54,1"
      Dst: "[java.nio.Buffer].hasRemaining()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:54,1"
      Dst: "[java.io.OutputStream].flush()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:55,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutputStream].write(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].remaining()"
    - "[java.io.OutputStream].flush()"
    - "[java.nio.ByteBuffer].put(byte[],int,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:59"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:60"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:59,1"
      Dst: "[java.nio.Buffer].remaining()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:59,1"
      Dst: "[java.io.OutputStream].flush()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutputStream:60,1"
      Dst: "[java.nio.ByteBuffer].put(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    - "[com.esotericsoftware.kryo.util.IntMap$Entry].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:545,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:542,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Entry].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: 549
    functionLinenumberEnd: 563
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.util.IntMap$Entry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 38
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Entries:550"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:551"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:550"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Entries:551"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:552"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:551"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Entries:553"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:557"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:556"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:550,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:551,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:561,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$MapIterator"
    linkageType: ""
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:505"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:511"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:510"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:506"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:504"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:503"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Entries:566"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:567"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Entries:566"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:566,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:541,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 0
    ICount: 51
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:516"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:518"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:517"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:516"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:518"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:517"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:518"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:521"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:520"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:524"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:533"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:532"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:526"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:531"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:530"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:534"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$MapIterator:519,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntMap$MapIterator:525,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entries].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entries:541,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$MapIterator:497"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:500"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$MapIterator:499"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$MapIterator:500,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:49,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:56,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:57,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:65,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:66,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:71,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:72,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>(java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:77,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:78,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].<init>(long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].newDirectBuffer(long,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:84,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].newDirectBuffer(long,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:84,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:85,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.ByteBuffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:89"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:90"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:89"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:90"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:91"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:89,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:90,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:91,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:92,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:144"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:143"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:146,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.ByteBuffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.nio.Buffer].capacity()"
    - "[java.nio.Buffer].position()"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:138"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:139"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:138"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:139"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:137,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:141,1"
      Dst: "[java.nio.Buffer].capacity()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:142,1"
      Dst: "[java.nio.Buffer].position()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.nio.ch.DirectBuffer].address()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:96,1"
      Dst: "[sun.nio.ch.DirectBuffer].address()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:106"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:101,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:103,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:104,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].flush()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.nio.ByteBuffer].isDirect()"
    - "[java.nio.ByteBuffer].allocate(int)"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferLimit(java.nio.Buffer,int)"
    - "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    - "[java.nio.ByteBuffer].order()"
    - "[java.nio.ByteBuffer].order(java.nio.ByteOrder)"
    functionUses: 0
    ICount: 63
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:182"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:185"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:184"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:191"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:190"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:186"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:188"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:187"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:191"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:192"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:194"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:193"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:192"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:195"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:195"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:183,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].flush()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:187,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:187,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoBufferOverflowException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:193,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:195,1"
      Dst: "[java.nio.ByteBuffer].isDirect()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:195,1"
      Dst: "[java.nio.ByteBuffer].allocate(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:195,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:196,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:197,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferLimit(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:198,1"
      Dst: "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:199,1"
      Dst: "[java.nio.ByteBuffer].order()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:199,1"
      Dst: "[java.nio.ByteBuffer].order(java.nio.ByteOrder)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].flush()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - "[java.nio.ByteBuffer].get(byte[])"
    - "[java.io.OutputStream].write(byte[],int,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:209"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:208"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:210,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:211,1"
      Dst: "[java.nio.ByteBuffer].get(byte[])"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:213,1"
      Dst: "[java.io.OutputStream].write(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:215,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:174,1"
      Dst: "[java.nio.Buffer].position(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferLimit(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].limit(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:178,1"
      Dst: "[java.nio.Buffer].limit(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].dispose()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:112,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:118,1"
      Dst: "[java.nio.Buffer].position(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putByte(long,byte)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:122"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:123"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:122,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:123,1"
      Dst: "[sun.misc.Unsafe].putByte(long,byte)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:124,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeByte(byte)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putByte(long,byte)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:128"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:129"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:128,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:129,1"
      Dst: "[sun.misc.Unsafe].putByte(long,byte)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:130,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeByte(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putByte(long,byte)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:135"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:134,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:135,1"
      Dst: "[sun.misc.Unsafe].putByte(long,byte)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:136,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putInt(long,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:140,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:141,1"
      Dst: "[sun.misc.Unsafe].putInt(long,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:143,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeLong(long)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putLong(long,long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:147,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:148,1"
      Dst: "[sun.misc.Unsafe].putLong(long,long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:150,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeFloat(float)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putFloat(long,float)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:154,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:155,1"
      Dst: "[sun.misc.Unsafe].putFloat(long,float)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:157,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeDouble(double)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putDouble(long,double)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:161,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:162,1"
      Dst: "[sun.misc.Unsafe].putDouble(long,double)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:164,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeShort(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putShort(long,short)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:168,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:169,1"
      Dst: "[sun.misc.Unsafe].putShort(long,short)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:171,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeChar(char)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putChar(long,char)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:175,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:176,1"
      Dst: "[sun.misc.Unsafe].putChar(long,char)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:178,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBoolean(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[sun.misc.Unsafe].putByte(long,byte)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:182"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:183"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:182,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:183,1"
      Dst: "[sun.misc.Unsafe].putByte(long,byte)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:184,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeInts(int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:188,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:226"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:227"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:221,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:223,1"
      Dst: "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:229,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:231,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeLongs(long[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "long[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:192,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeFloats(float[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "float[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:196,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeDoubles(double[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "double[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:200,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeShorts(short[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "short[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:204,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeChars(char[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:208,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBooleans(boolean[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:212,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput:216,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:82,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:104,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>(int,float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:105,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:137"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:136"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:132"
        BranchSideFuncs:
        - "place(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:134,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    functionUses: 3
    ICount: 36
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:152"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:151"
        BranchSideFuncs:
        - "locateKey(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:146"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:150"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:149"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:153"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:158"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:157"
        BranchSideFuncs:
        - "resize(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:161"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:162"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:152,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:161,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 337
    functionLinenumberEnd: 356
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[com.esotericsoftware.kryo.util.IntMap].putResize(int,java.lang.Object)"
    functionUses: 1
    ICount: 32
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:349"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:355"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:354"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:350"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:355"
        BranchSideFuncs:
        - "putResize(int,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:354"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:352"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:349"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:341,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:352,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].putResize(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].putResize(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:180"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:178"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:177"
        BranchSideFuncs:
        - "place(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:179,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].putAll(com.esotericsoftware.kryo.util.IntMap<?\
      \ extends V>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap<? extends V>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].ensureCapacity(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:167"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:168"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:167"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:170"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:174"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:173"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:166,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].ensureCapacity(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:167,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].ensureCapacity(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:334"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:335"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:334"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:333,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:334,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 5
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:190"
        BranchSideFuncs:
        - "place(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:189"
        BranchSideFuncs:
        - "place(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:189"
        BranchSideFuncs:
        - "place(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:188"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:193"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:192"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:193"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:189"
        BranchSideFuncs:
        - "place(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:190,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].get(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:199"
        BranchSideFuncs:
        - "place(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:198"
        BranchSideFuncs:
        - "place(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:198"
        BranchSideFuncs:
        - "place(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:197"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:201"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:202"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:201"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:202"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:198"
        BranchSideFuncs:
        - "place(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:199,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].remove(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    functionUses: 0
    ICount: 43
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:208"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:217"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:210"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:209"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:219"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:218"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:223"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:232"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:231"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:225"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:230"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:217,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:224,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].place(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].notEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:239"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:238"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].isEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:243"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].shrink(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:251"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:252"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:251"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:253"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:254"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:253"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:251,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:251,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:252,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:253,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].clear(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.IntMap].clear()"
    - "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:263"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:262"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:258,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:260,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].clear()"
    - Src: "com.esotericsoftware.kryo.util.IntMap:266,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].fill(int[],int)"
    - "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:270"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:271"
        BranchSideFuncs:
        - "fill(int[],int)"
        - "fill(java.lang.Object[],java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:270"
        BranchSideFuncs:
        - "fill(int[],int)"
        - "fill(java.lang.Object[],java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:272,1"
      Dst: "[java.util.Arrays].fill(int[],int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:273,1"
      Dst: "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].containsValue(java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 54
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:283"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:282"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:285"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:286"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:285"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:285"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:286"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:285"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:287"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:289"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:288"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:288"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:288"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:294"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:293"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:290"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:291"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:290"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:291"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:291"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:290"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:292"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:294"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:295"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:294"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:294"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:295"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:294"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:295"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:298"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:297"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:296"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:294,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 9
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].containsKey(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:303"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:304"
        BranchSideFuncs:
        - "locateKey(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:303"
        BranchSideFuncs:
        - "locateKey(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:304"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:303"
        BranchSideFuncs:
        - "locateKey(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:304,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].locateKey(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].findKey(java.lang.Object,boolean,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "boolean"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:312"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:311"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:314"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:315"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:314"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:314"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:315"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:314"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:316"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:318"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:317"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:317"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:317"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:323"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:319"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:320"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:319"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:320"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:320"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:319"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:321"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:323"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:324"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:323"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:323"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:324"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:323"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:324"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:327"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:326"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:325"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:323,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 9
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.chrono.AbstractChronology].hashCode()"
    - "[java.text.FieldPosition].hashCode()"
    - "[java.awt.font.NumericShaper].hashCode()"
    - "[java.lang.module.ResolvedModule].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].hashCode()"
    - "[java.security.CodeSource].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[java.time.Period].hashCode()"
    - "[sun.java2d.loops.CompositeType].hashCode()"
    - "[java.awt.RenderingHints].hashCode()"
    - "[java.time.ZoneId].hashCode()"
    - "[java.lang.reflect.Field].hashCode()"
    - "[sun.font.FontLineMetrics].hashCode()"
    - "[java.awt.MenuShortcut].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Provides].hashCode()"
    - "[java.time.OffsetTime].hashCode()"
    - "[java.math.BigInteger].hashCode()"
    - "[javax.crypto.spec.SecretKeySpec].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap].hashCode()"
    - "[java.time.Instant].hashCode()"
    - "[java.lang.reflect.Constructor].hashCode()"
    - "[java.util.HashMap$Node].hashCode()"
    - "[java.time.zone.ZoneOffsetTransitionRule].hashCode()"
    - "[java.time.MonthDay].hashCode()"
    - "[java.lang.ProcessHandleImpl].hashCode()"
    - "[java.awt.geom.Rectangle2D].hashCode()"
    - "[java.lang.Package].hashCode()"
    - "[java.util.Calendar].hashCode()"
    - "[java.awt.AttributeValue].hashCode()"
    - "[java.lang.ProcessBuilder$Redirect].hashCode()"
    - "[sun.util.calendar.CalendarDate].hashCode()"
    - "[java.security.Provider$ServiceKey].hashCode()"
    - "[java.lang.Thread$WeakClassKey].hashCode()"
    - "[java.time.OffsetDateTime].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[java.util.OptionalInt].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[jdk.internal.misc.Signal].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[java.security.CodeSigner].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[java.awt.RenderingHints$Key].hashCode()"
    - "[java.time.Clock].hashCode()"
    - "[java.util.Date].hashCode()"
    - "[java.security.Timestamp].hashCode()"
    - "[java.util.AbstractSet].hashCode()"
    - "[java.awt.geom.Point2D].hashCode()"
    - "[java.util.UUID].hashCode()"
    - "[java.awt.PageAttributes$PrintQualityType].hashCode()"
    - "[java.security.AllPermission].hashCode()"
    - "[java.text.NumberFormat].hashCode()"
    - "[java.awt.font.FontRenderContext].hashCode()"
    - "[java.awt.image.ColorModel].hashCode()"
    - "[java.awt.BufferCapabilities$FlipContents].hashCode()"
    - "[java.time.LocalTime].hashCode()"
    - "[java.awt.JobAttributes$DefaultSelectionType].hashCode()"
    - "[java.awt.Dimension].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[sun.nio.fs.UnixFileStore].hashCode()"
    - "[java.awt.PageAttributes$MediaType].hashCode()"
    - "[java.security.cert.CertPath].hashCode()"
    - "[java.time.format.DecimalStyle].hashCode()"
    - "[java.time.zone.ZoneRules].hashCode()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].hashCode()"
    - "[java.awt.image.IndexColorModel].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[sun.util.locale.BaseLocale].hashCode()"
    - "[java.beans.IndexedPropertyDescriptor].hashCode()"
    - "[java.net.SocketPermission].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[java.io.FilePermission].hashCode()"
    - "[java.net.URI].hashCode()"
    - "[java.nio.CharBuffer].hashCode()"
    - "[java.util.EnumMap].hashCode()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Key].hashCode()"
    - "[java.lang.StackTraceElement].hashCode()"
    - "[sun.nio.fs.UnixPath].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[java.lang.invoke.LambdaForm].hashCode()"
    - "[java.awt.PageAttributes$OriginType].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.time.zone.ZoneOffsetTransition].hashCode()"
    - "[java.awt.BasicStroke].hashCode()"
    - "[sun.util.locale.LocaleExtensions].hashCode()"
    - "[sun.font.AttributeValues].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Requires].hashCode()"
    - "[java.awt.AlphaComposite].hashCode()"
    - "[java.sql.Timestamp].hashCode()"
    - "[java.awt.Font].hashCode()"
    - "[java.math.MathContext].hashCode()"
    - "[java.math.BigDecimal].hashCode()"
    - "[java.awt.datatransfer.MimeTypeParameterList].hashCode()"
    - "[java.nio.ShortBuffer].hashCode()"
    - "[java.util.Hashtable$Entry].hashCode()"
    - "[java.awt.font.TextHitInfo].hashCode()"
    - "[java.awt.JobAttributes$DestinationType].hashCode()"
    - "[java.nio.LongBuffer].hashCode()"
    - "[java.util.GregorianCalendar].hashCode()"
    - "[java.time.LocalDate].hashCode()"
    - "[java.time.temporal.ValueRange].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[java.awt.AWTKeyStroke].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[java.nio.FloatBuffer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.awt.JobAttributes$DialogType].hashCode()"
    - "[java.nio.IntBuffer].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.util.AbstractList].hashCode()"
    - "[java.time.Duration].hashCode()"
    - "[java.util.ResourceBundle$CacheKey].hashCode()"
    - "[java.util.zip.ZipEntry].hashCode()"
    - "[java.awt.DisplayMode].hashCode()"
    - "[java.lang.invoke.MethodType].hashCode()"
    - "[java.net.InterfaceAddress].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].hashCode()"
    - "[java.net.Proxy].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.security.BasicPermission].hashCode()"
    - "[java.net.NetworkInterface].hashCode()"
    - "[java.lang.module.ModuleDescriptor].hashCode()"
    - "[java.awt.datatransfer.MimeType].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[java.util.jar.Attributes$Name].hashCode()"
    - "[java.util.Vector].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].hashCode()"
    - "[java.time.ZonedDateTime].hashCode()"
    - "[java.awt.PageAttributes].hashCode()"
    - "[java.awt.Color].hashCode()"
    - "[java.nio.charset.Charset].hashCode()"
    - "[java.util.PropertyPermission].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Type].hashCode()"
    - "[sun.util.locale.BaseLocale$Key].hashCode()"
    - "[java.lang.reflect.Method].hashCode()"
    - "[java.net.InetAddress].hashCode()"
    - "[sun.java2d.loops.SurfaceType].hashCode()"
    - "[java.util.BitSet].hashCode()"
    - "[java.nio.file.attribute.FileTime].hashCode()"
    - "[java.lang.invoke.MemberName].hashCode()"
    - "[javax.security.auth.Subject].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.time.YearMonth].hashCode()"
    - "[java.awt.geom.AffineTransform].hashCode()"
    - "[java.net.URL].hashCode()"
    - "[java.lang.Runtime$Version].hashCode()"
    - "[java.net.HttpCookie].hashCode()"
    - "[java.nio.ByteBuffer].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[java.security.AccessControlContext].hashCode()"
    - "[java.util.Properties].hashCode()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].hashCode()"
    - "[java.nio.DoubleBuffer].hashCode()"
    - "[java.awt.PageAttributes$ColorType].hashCode()"
    - "[java.text.DateFormat].hashCode()"
    - "[javax.crypto.CryptoPermission].hashCode()"
    - "[java.text.ParsePosition].hashCode()"
    - "[java.lang.invoke.LambdaForm$Name].hashCode()"
    - "[java.util.jar.Attributes].hashCode()"
    - "[java.text.MessageFormat].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Exports].hashCode()"
    - "[java.lang.Character$Subset].hashCode()"
    - "[java.security.cert.Certificate].hashCode()"
    - "[java.util.TreeMap$Entry].hashCode()"
    - "[sun.util.calendar.Era].hashCode()"
    - "[java.util.WeakHashMap$Entry].hashCode()"
    - "[java.text.DecimalFormatSymbols].hashCode()"
    - "[java.time.LocalDateTime].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.util.Locale].hashCode()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].hashCode()"
    - "[java.awt.Insets].hashCode()"
    - "[java.util.jar.Manifest].hashCode()"
    - "[java.time.Year].hashCode()"
    - "[java.util.ArrayList].hashCode()"
    - "[java.lang.reflect.Parameter].hashCode()"
    - "[java.text.AttributedCharacterIterator$Attribute].hashCode()"
    - "[sun.nio.ch.FileKey].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Recipe].hashCode()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].hashCode()"
    - "[sun.font.FontStrikeDesc].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].hashCode()"
    - "[java.util.zip.ZipFile$Source$Key].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[java.awt.JobAttributes].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Version].hashCode()"
    - "[java.util.Optional].hashCode()"
    - "[com.esotericsoftware.asm.Type].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.time.ZoneOffset].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[sun.java2d.pipe.Region].hashCode()"
    - "[java.awt.font.TransformAttribute].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.util.OptionalDouble].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.util.OptionalLong].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[java.util.Hashtable].hashCode()"
    - "[sun.font.CoreMetrics].hashCode()"
    - "[java.net.Inet4Address].hashCode()"
    - "[java.awt.JobAttributes$SidesType].hashCode()"
    - "[java.beans.PropertyDescriptor].hashCode()"
    - "[java.util.IdentityHashMap].hashCode()"
    - "[java.text.DateFormatSymbols].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Opens].hashCode()"
    - "[java.awt.PageAttributes$OrientationRequestedType].hashCode()"
    - "[java.awt.datatransfer.DataFlavor].hashCode()"
    functionUses: 10
    ICount: 25
    EdgeCount: 422
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:359"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:360"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:359"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:359"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:360"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:359"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:362"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:370"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:369"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:364"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:360"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:359"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:367"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:359"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:359,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].get(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    functionUses: 7
    ICount: 48
    EdgeCount: 404
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:374"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:375"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:374"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:375"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:376"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:375"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:377"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:378"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:377"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:378"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:379"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:378"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:379"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:386"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:380"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:383"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:382"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:381"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:383"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:388"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:399"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:398"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:390"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:386"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:392"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:395"
        BranchSideFuncs:
        - "get(int,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:394"
        BranchSideFuncs:
        - "get(int)"
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:393"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:395"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:385"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:383,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:393,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:395,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 24
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].equalsIdentity(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].get(int,java.lang.Object)"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:404"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:405"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:404"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:405"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:406"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:405"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:407"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:408"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:407"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:408"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:409"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:408"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:409"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:410"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:409"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:409"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:410"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:409"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:412"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:416"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:415"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:414"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:409"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:414"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:409"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:414,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: 419
    functionLinenumberEnd: 449
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 44
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:420"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:421"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:420"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:426"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:430"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:429"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:430"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:432"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:433"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:432"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:439"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:447"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:446"
        BranchSideFuncs:
        - "append(char)"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.IntMap:441"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:442"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "append(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap:441"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "append(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:421,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:422,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:427,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:428,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:433,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap:448,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].entries()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:452,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].entries()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].entries()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.IntMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$Entries].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:457,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Entries].<init>(com.esotericsoftware.kryo.util.IntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$MapIterator:489,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$MapIterator:491,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entry].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entry:470,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].values()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.IntMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$Values].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:462,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Values].<init>(com.esotericsoftware.kryo.util.IntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:577,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap].keys()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.IntMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$Keys].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap:467,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Keys].<init>(com.esotericsoftware.kryo.util.IntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:612,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.IntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:256,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:258,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:262"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:266"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:265"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:272"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:271"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:272"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:271"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:269"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:270"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:272"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:274"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:263,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:266,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:267,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:267,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:267,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:268,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:270,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:273,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.Kryo].getReferences()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.ReferenceResolver"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionDepth: 6
    returnType: "java.lang.String[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    functionUses: 13
    ICount: 31
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:279"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:null"
        BranchSideFuncs:
        - "getReferences()"
        - "useReferences(java.lang.Class)"
        - "getReferenceResolver()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:281"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:286"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:285"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:281"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:286"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:285"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:283"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:284"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:286"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:288"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:278,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:281,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:281,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:281,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:282,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:284,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:287,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.String[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:294,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.String[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:256,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer:256,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1017,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.UUID)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.UUID"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.UUID].getMostSignificantBits()"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - "[java.util.UUID].getLeastSignificantBits()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1019,1"
      Dst: "[java.util.UUID].getMostSignificantBits()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1019,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1020,1"
      Dst: "[java.util.UUID].getLeastSignificantBits()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer"
    linkageType: ""
    functionLinenumber: 1023
    functionLinenumberEnd: 1025
    functionDepth: 4
    returnType: "java.util.UUID"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.UUID].<init>(long,long)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionUses: 13
    ICount: 9
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1024,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1024,1"
      Dst: "[java.util.UUID].<init>(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.UUID)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer:1017,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.UUID)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionUses: 5
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:791"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:792"
        BranchSideFuncs:
        - "advance()"
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:791"
        BranchSideFuncs:
        - "advance()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:791,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:794,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].next()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:805"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:807"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:806"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:804,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:806,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].next()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:806,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:781,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStashIndex(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:704"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:705"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:705"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:710"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:709"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:704,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:706,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap].removeStashIndex(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator:708,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Keys].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Keys:781,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:77,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:99,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:100,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].putAll(com.esotericsoftware.kryo.util.ObjectMap<?\
      \ extends K,? extends V>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectMap<? extends K,? extends V>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].ensureCapacity(int)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:156"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:160"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:159"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:158"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:151"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:152,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].ensureCapacity(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:158,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].ensureCapacity(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:302"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:303"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:302"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:301,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:302,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 203
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:188"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:189"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:188"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:185"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:186,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:189,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].remove(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:196"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:197"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:196"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:201"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:210"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:209"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:195,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:202,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].notEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:217"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].isEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:223"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:222"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].shrink(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:230"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:231"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:230"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:232"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:233"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:230,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:230,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:231,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:232,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].containsValue(java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:258"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:257"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:261"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:263"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:262"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:262"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:262"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:267"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:266"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:264"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:264"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:263"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:265"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:267"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:270"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:269"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:268"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:268,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].containsKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:274"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:273"
        BranchSideFuncs:
        - "locateKey(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:274,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].locateKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].findKey(java.lang.Object,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:283"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:282"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:286"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:288"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:287"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:287"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:287"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:292"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:291"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:289"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:289"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:288"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:290"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:292"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:295"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:294"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:293"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:293,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.chrono.AbstractChronology].hashCode()"
    - "[java.text.FieldPosition].hashCode()"
    - "[java.awt.font.NumericShaper].hashCode()"
    - "[java.lang.module.ResolvedModule].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].hashCode()"
    - "[java.security.CodeSource].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[java.time.Period].hashCode()"
    - "[sun.java2d.loops.CompositeType].hashCode()"
    - "[java.awt.RenderingHints].hashCode()"
    - "[java.time.ZoneId].hashCode()"
    - "[java.lang.reflect.Field].hashCode()"
    - "[sun.font.FontLineMetrics].hashCode()"
    - "[java.awt.MenuShortcut].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Provides].hashCode()"
    - "[java.time.OffsetTime].hashCode()"
    - "[java.math.BigInteger].hashCode()"
    - "[javax.crypto.spec.SecretKeySpec].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap].hashCode()"
    - "[java.time.Instant].hashCode()"
    - "[java.lang.reflect.Constructor].hashCode()"
    - "[java.util.HashMap$Node].hashCode()"
    - "[java.time.zone.ZoneOffsetTransitionRule].hashCode()"
    - "[java.time.MonthDay].hashCode()"
    - "[java.lang.ProcessHandleImpl].hashCode()"
    - "[java.awt.geom.Rectangle2D].hashCode()"
    - "[java.lang.Package].hashCode()"
    - "[java.util.Calendar].hashCode()"
    - "[java.awt.AttributeValue].hashCode()"
    - "[java.lang.ProcessBuilder$Redirect].hashCode()"
    - "[sun.util.calendar.CalendarDate].hashCode()"
    - "[java.security.Provider$ServiceKey].hashCode()"
    - "[java.lang.Thread$WeakClassKey].hashCode()"
    - "[java.time.OffsetDateTime].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[java.util.OptionalInt].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[jdk.internal.misc.Signal].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[java.security.CodeSigner].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[java.awt.RenderingHints$Key].hashCode()"
    - "[java.time.Clock].hashCode()"
    - "[java.util.Date].hashCode()"
    - "[java.security.Timestamp].hashCode()"
    - "[java.util.AbstractSet].hashCode()"
    - "[java.awt.geom.Point2D].hashCode()"
    - "[java.util.UUID].hashCode()"
    - "[java.awt.PageAttributes$PrintQualityType].hashCode()"
    - "[java.security.AllPermission].hashCode()"
    - "[java.text.NumberFormat].hashCode()"
    - "[java.awt.font.FontRenderContext].hashCode()"
    - "[java.awt.image.ColorModel].hashCode()"
    - "[java.awt.BufferCapabilities$FlipContents].hashCode()"
    - "[java.time.LocalTime].hashCode()"
    - "[java.awt.JobAttributes$DefaultSelectionType].hashCode()"
    - "[java.awt.Dimension].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[sun.nio.fs.UnixFileStore].hashCode()"
    - "[java.awt.PageAttributes$MediaType].hashCode()"
    - "[java.security.cert.CertPath].hashCode()"
    - "[java.time.format.DecimalStyle].hashCode()"
    - "[java.time.zone.ZoneRules].hashCode()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].hashCode()"
    - "[java.awt.image.IndexColorModel].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[sun.util.locale.BaseLocale].hashCode()"
    - "[java.beans.IndexedPropertyDescriptor].hashCode()"
    - "[java.net.SocketPermission].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[java.io.FilePermission].hashCode()"
    - "[java.net.URI].hashCode()"
    - "[java.nio.CharBuffer].hashCode()"
    - "[java.util.EnumMap].hashCode()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Key].hashCode()"
    - "[java.lang.StackTraceElement].hashCode()"
    - "[sun.nio.fs.UnixPath].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[java.lang.invoke.LambdaForm].hashCode()"
    - "[java.awt.PageAttributes$OriginType].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.time.zone.ZoneOffsetTransition].hashCode()"
    - "[java.awt.BasicStroke].hashCode()"
    - "[sun.util.locale.LocaleExtensions].hashCode()"
    - "[sun.font.AttributeValues].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Requires].hashCode()"
    - "[java.awt.AlphaComposite].hashCode()"
    - "[java.sql.Timestamp].hashCode()"
    - "[java.awt.Font].hashCode()"
    - "[java.math.MathContext].hashCode()"
    - "[java.math.BigDecimal].hashCode()"
    - "[java.awt.datatransfer.MimeTypeParameterList].hashCode()"
    - "[java.nio.ShortBuffer].hashCode()"
    - "[java.util.Hashtable$Entry].hashCode()"
    - "[java.awt.font.TextHitInfo].hashCode()"
    - "[java.awt.JobAttributes$DestinationType].hashCode()"
    - "[java.nio.LongBuffer].hashCode()"
    - "[java.util.GregorianCalendar].hashCode()"
    - "[java.time.LocalDate].hashCode()"
    - "[java.time.temporal.ValueRange].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[java.awt.AWTKeyStroke].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[java.nio.FloatBuffer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.awt.JobAttributes$DialogType].hashCode()"
    - "[java.nio.IntBuffer].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.util.AbstractList].hashCode()"
    - "[java.time.Duration].hashCode()"
    - "[java.util.ResourceBundle$CacheKey].hashCode()"
    - "[java.util.zip.ZipEntry].hashCode()"
    - "[java.awt.DisplayMode].hashCode()"
    - "[java.lang.invoke.MethodType].hashCode()"
    - "[java.net.InterfaceAddress].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].hashCode()"
    - "[java.net.Proxy].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.security.BasicPermission].hashCode()"
    - "[java.net.NetworkInterface].hashCode()"
    - "[java.lang.module.ModuleDescriptor].hashCode()"
    - "[java.awt.datatransfer.MimeType].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[java.util.jar.Attributes$Name].hashCode()"
    - "[java.util.Vector].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].hashCode()"
    - "[java.time.ZonedDateTime].hashCode()"
    - "[java.awt.PageAttributes].hashCode()"
    - "[java.awt.Color].hashCode()"
    - "[java.nio.charset.Charset].hashCode()"
    - "[java.util.PropertyPermission].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Type].hashCode()"
    - "[sun.util.locale.BaseLocale$Key].hashCode()"
    - "[java.lang.reflect.Method].hashCode()"
    - "[java.net.InetAddress].hashCode()"
    - "[sun.java2d.loops.SurfaceType].hashCode()"
    - "[java.util.BitSet].hashCode()"
    - "[java.nio.file.attribute.FileTime].hashCode()"
    - "[java.lang.invoke.MemberName].hashCode()"
    - "[javax.security.auth.Subject].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.time.YearMonth].hashCode()"
    - "[java.awt.geom.AffineTransform].hashCode()"
    - "[java.net.URL].hashCode()"
    - "[java.lang.Runtime$Version].hashCode()"
    - "[java.net.HttpCookie].hashCode()"
    - "[java.nio.ByteBuffer].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[java.security.AccessControlContext].hashCode()"
    - "[java.util.Properties].hashCode()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].hashCode()"
    - "[java.nio.DoubleBuffer].hashCode()"
    - "[java.awt.PageAttributes$ColorType].hashCode()"
    - "[java.text.DateFormat].hashCode()"
    - "[javax.crypto.CryptoPermission].hashCode()"
    - "[java.text.ParsePosition].hashCode()"
    - "[java.lang.invoke.LambdaForm$Name].hashCode()"
    - "[java.util.jar.Attributes].hashCode()"
    - "[java.text.MessageFormat].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Exports].hashCode()"
    - "[java.lang.Character$Subset].hashCode()"
    - "[java.security.cert.Certificate].hashCode()"
    - "[java.util.TreeMap$Entry].hashCode()"
    - "[sun.util.calendar.Era].hashCode()"
    - "[java.util.WeakHashMap$Entry].hashCode()"
    - "[java.text.DecimalFormatSymbols].hashCode()"
    - "[java.time.LocalDateTime].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.util.Locale].hashCode()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].hashCode()"
    - "[java.awt.Insets].hashCode()"
    - "[java.util.jar.Manifest].hashCode()"
    - "[java.time.Year].hashCode()"
    - "[java.util.ArrayList].hashCode()"
    - "[java.lang.reflect.Parameter].hashCode()"
    - "[java.text.AttributedCharacterIterator$Attribute].hashCode()"
    - "[sun.nio.ch.FileKey].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Recipe].hashCode()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].hashCode()"
    - "[sun.font.FontStrikeDesc].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].hashCode()"
    - "[java.util.zip.ZipFile$Source$Key].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[java.awt.JobAttributes].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Version].hashCode()"
    - "[java.util.Optional].hashCode()"
    - "[com.esotericsoftware.asm.Type].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.time.ZoneOffset].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[sun.java2d.pipe.Region].hashCode()"
    - "[java.awt.font.TransformAttribute].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.util.OptionalDouble].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.util.OptionalLong].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[java.util.Hashtable].hashCode()"
    - "[sun.font.CoreMetrics].hashCode()"
    - "[java.net.Inet4Address].hashCode()"
    - "[java.awt.JobAttributes$SidesType].hashCode()"
    - "[java.beans.PropertyDescriptor].hashCode()"
    - "[java.util.IdentityHashMap].hashCode()"
    - "[java.text.DateFormatSymbols].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Opens].hashCode()"
    - "[java.awt.PageAttributes$OrientationRequestedType].hashCode()"
    - "[java.awt.datatransfer.DataFlavor].hashCode()"
    functionUses: 10
    ICount: 18
    EdgeCount: 422
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:329"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:337"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:336"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:331"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:326"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:325"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:334"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:325"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:332,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object,java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    functionUses: 7
    ICount: 32
    EdgeCount: 205
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:341"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:342"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:341"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:342"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:343"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:342"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:344"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:345"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:347"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:358"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:357"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:349"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:345"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:351"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:354"
        BranchSideFuncs:
        - "get(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:353"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "get(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:352"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:354"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:344"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:352,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:354,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:354,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].equalsIdentity(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:363"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:364"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:363"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:364"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:365"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:364"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:366"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:367"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:366"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:369"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:373"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:372"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:371"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:366"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:371"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:366"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:371,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:377,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 384
    functionLinenumberEnd: 411
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 62
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:385"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:386"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:385"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:385"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:385"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:384"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:387"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:388"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:387"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:391"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:393"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:394"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:393"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:394"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:394"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:393"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:397"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:394"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:393"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:400"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:409"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:408"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:402"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:403"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:402"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:404"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:403"
        BranchSideFuncs:
        - "append(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:402"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:407"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:404"
        BranchSideFuncs:
        - "append(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:403"
        BranchSideFuncs:
        - "append(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap:409"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:410"
        BranchSideFuncs:
        - "toString()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap:409"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:386,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:387,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:394,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:403,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:410,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 31
    CyclomaticComplexity: 12
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String,boolean)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:381,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].toString(java.lang.String,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].entries()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:414,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].entries()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].entries()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:419,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    - "[com.esotericsoftware.kryo.util.ObjectMap$Entry].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:516,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:513,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Entry].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entry].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entry:450,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].values()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:424,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap].keys()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap:429,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:576,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:230,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.OffsetTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.OffsetTime].toLocalTime()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - "[java.time.OffsetTime].getOffset()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:232,1"
      Dst: "[java.time.OffsetTime].toLocalTime()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:232,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:233,1"
      Dst: "[java.time.OffsetTime].getOffset()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:233,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.ZoneOffset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.ZoneOffset].getTotalSeconds()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:194"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:193"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:192"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:196"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:199"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:198"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:193,1"
      Dst: "[java.time.ZoneOffset].getTotalSeconds()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:195,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:197,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer"
    linkageType: ""
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionDepth: 7
    returnType: "java.time.OffsetTime"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[java.time.OffsetTime].of(java.time.LocalTime,java.time.ZoneOffset)"
    functionUses: 13
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:237,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:238,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:239,1"
      Dst: "[java.time.OffsetTime].of(java.time.LocalTime,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionDepth: 4
    returnType: "java.time.ZoneOffset"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.time.ZoneOffset].ofTotalSeconds(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 3
    ICount: 11
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:207"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:206,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:207,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:207,1"
      Dst: "[java.time.ZoneOffset].ofTotalSeconds(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetTime)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer:230,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:225,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:227,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,boolean[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "boolean[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:231"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:235"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:234"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:236"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:232,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:235,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:237,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionDepth: 5
    returnType: "boolean[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    functionUses: 13
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:242"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:245"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:241,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:245,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].copy(com.esotericsoftware.kryo.Kryo,boolean[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "boolean[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:251,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].copy(com.esotericsoftware.kryo.Kryo,boolean[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:225,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].copy(com.esotericsoftware.kryo.Kryo,boolean[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,boolean[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer:225,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,boolean[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: 520
    functionLinenumberEnd: 528
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Entry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap$Entries:521"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Entries:522"
        BranchSideFuncs:
        - "findNextIndex()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Entries:521"
        BranchSideFuncs:
        - "findNextIndex()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:521,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:526,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:512,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entries].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entries:512,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory:133,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].<init>(com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory:137,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].getConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].clone()"
    functionUses: 4
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory:146,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].clone()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory:146,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].clone()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:259,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:411,1"
      Dst: "[java.lang.Object].clone()"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:413,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:72,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:74,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].<init>(com.esotericsoftware.kryo.serializers.FieldSerializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:82,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:79,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:211,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:213,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionDepth: 7
    returnType: "java.time.ZoneId"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:221,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer:211,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField"
    linkageType: ""
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:174,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getLong(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:178"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:180"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:179,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getLong(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:179,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:181,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 340
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:491"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:492"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:491"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:492"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:497"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:496"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:493"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:494"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:493"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:497"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:505"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:504"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:505"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:515"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:514"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:515"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:526"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:525"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:526"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:538"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:537"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:538"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:551"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:550"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:551"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:565"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:564"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:565"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:580"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:579"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:493,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField"
    linkageType: ""
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setLong(java.lang.Object,int,long)"
    functionUses: 4
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:188"
        BranchSideFuncs:
        - "readVarLong(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:187"
        BranchSideFuncs:
        - "readLong()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:186,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:186,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setLong(java.lang.Object,int,long)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:188,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 609
    functionLinenumberEnd: 649
    functionDepth: 4
    returnType: "long"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarLong_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong_slow(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 10
    ICount: 104
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:610"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:611"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:610"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:614"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:618"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:621"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:624"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:627"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:630"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:633"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:636"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:648"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:646"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:610,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:610,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong_slow(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarLong_slow(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 652
    functionLinenumberEnd: 697
    functionDepth: 3
    returnType: "long"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 1
    ICount: 147
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:655"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:656"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:657"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:656"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:660"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:661"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:662"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:661"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:664"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:665"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:666"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:665"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:668"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:670"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:669"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:672"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:673"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:674"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:673"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:676"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:677"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:678"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:677"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:680"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:681"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:682"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:681"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:684"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:696"
        BranchSideFuncs:
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:685"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:686"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:685"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:696"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:695"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:656,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 18
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getLong(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setLong(java.lang.Object,int,long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:192,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getLong(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$LongAsmField:192,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setLong(java.lang.Object,int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Double)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:156,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:156,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionDepth: 4
    returnType: "java.lang.Double"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:160,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:160,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:415,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.sql.Timestamp)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.sql.Timestamp"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].integralTimeComponent(java.sql.Timestamp)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[java.sql.Timestamp].getNanos()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:417,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].integralTimeComponent(java.sql.Timestamp)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:417,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:418,1"
      Dst: "[java.sql.Timestamp].getNanos()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:418,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].integralTimeComponent(java.sql.Timestamp)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.sql.Timestamp"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.sql.Timestamp].getTime()"
    - "[java.sql.Timestamp].getNanos()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:430,1"
      Dst: "[java.sql.Timestamp].getTime()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:430,1"
      Dst: "[java.sql.Timestamp].getNanos()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionDepth: 5
    returnType: "java.sql.Timestamp"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].create(long,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    functionUses: 13
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:422,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:422,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:422,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].create(long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].create(long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionDepth: 0
    returnType: "java.sql.Timestamp"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.sql.Timestamp].<init>(long)"
    - "[java.sql.Timestamp].setNanos(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:434,1"
      Dst: "[java.sql.Timestamp].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:435,1"
      Dst: "[java.sql.Timestamp].setNanos(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].copy(com.esotericsoftware.kryo.Kryo,java.sql.Timestamp)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.sql.Timestamp"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.sql.Timestamp"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].integralTimeComponent(java.sql.Timestamp)"
    - "[java.sql.Timestamp].getNanos()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].create(long,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:426,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].integralTimeComponent(java.sql.Timestamp)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:426,1"
      Dst: "[java.sql.Timestamp].getNanos()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:426,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].create(long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].copy(com.esotericsoftware.kryo.Kryo,java.sql.Timestamp)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:415,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].copy(com.esotericsoftware.kryo.Kryo,java.sql.Timestamp)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.sql.Timestamp)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer:415,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.sql.Timestamp)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField"
    linkageType: ""
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:257,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getShort(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:262,1"
      Dst: "[java.lang.reflect.Field].getShort(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:262,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:264,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:265,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:265,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:656,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField"
    linkageType: ""
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    - "[java.lang.reflect.Field].setShort(java.lang.Object,short)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:272,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:272,1"
      Dst: "[java.lang.reflect.Field].setShort(java.lang.Object,short)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:274,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:275,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:275,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readShort()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionDepth: 3
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:777,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getShort(java.lang.Object)"
    - "[java.lang.reflect.Field].setShort(java.lang.Object,short)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:282,1"
      Dst: "[java.lang.reflect.Field].getShort(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:282,1"
      Dst: "[java.lang.reflect.Field].setShort(java.lang.Object,short)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:284,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:285,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField:285,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:931,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URL)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.URL].toExternalForm()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:933,1"
      Dst: "[java.net.URL].toExternalForm()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:933,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer"
    linkageType: ""
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionDepth: 6
    returnType: "java.net.URL"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.URL].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 13
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:938,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:938,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:940,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URL)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer:931,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:187,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.ZoneOffset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:189,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionDepth: 5
    returnType: "java.time.ZoneOffset"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:202,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer:187,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:283,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.YearMonth)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.YearMonth"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.YearMonth].getYear()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.time.YearMonth].getMonthValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:285,1"
      Dst: "[java.time.YearMonth].getYear()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:285,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:286,1"
      Dst: "[java.time.YearMonth].getMonthValue()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:286,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer"
    linkageType: ""
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionDepth: 6
    returnType: "java.time.YearMonth"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.time.YearMonth].of(int,int)"
    functionUses: 13
    ICount: 9
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:290,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:291,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:292,1"
      Dst: "[java.time.YearMonth].of(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.YearMonth)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer:283,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.YearMonth)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].<init>()"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:57,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:59,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:61,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$Since].value()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 3
    ICount: 35
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:67"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78"
        BranchSideFuncs:
        - "getAnnotation(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:77"
        BranchSideFuncs:
        - "getName()"
        - "debug(java.lang.String)"
        - "getType()"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:75"
        BranchSideFuncs:
        - "max(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:74"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:79"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:69,1"
      Dst: "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:71,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$Since].value()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:73,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:78,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].removeField(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:82,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:87,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:88,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].initializeCachedFields()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:97"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:96"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:108"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:107"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:104"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:93,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:97,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:101,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:108,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String)"
    - "[java.lang.reflect.Field].getName()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionUses: 13
    ICount: 49
    EdgeCount: 38
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:113"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:118"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:117"
        BranchSideFuncs:
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:118"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:117"
        BranchSideFuncs:
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:133"
        BranchSideFuncs:
        - "popTypeVariables(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:130"
        BranchSideFuncs:
        - "getName()"
        - "debug(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:129"
        BranchSideFuncs:
        - "position()"
        - "log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:127"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:117"
        BranchSideFuncs:
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:131"
        BranchSideFuncs:
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:130"
        BranchSideFuncs:
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:112,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:116,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:116,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:118,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:127,1"
      Dst: "[java.lang.reflect.Field].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:127,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:127,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:130,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:130,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:131,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].getVersionFieldSerializerConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:48,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:55,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:56,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[])"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:61,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[])"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:62,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[],int,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:67,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:68,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:73,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:74,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].newDirectBuffer(long,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:80,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].newDirectBuffer(long,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:80,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:81,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:86,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:87,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:92,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:93,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:97"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:98"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:97"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:98"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:99"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:98"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:97,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:98,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].dispose(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:99,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].setBuffer(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:100,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].updateBufferAddress()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.nio.ch.DirectBuffer].address()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:104,1"
      Dst: "[sun.nio.ch.DirectBuffer].address()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.Buffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position(int)"
    functionUses: 16
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:108,1"
      Dst: "[java.nio.Buffer].position(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].read()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[sun.misc.Unsafe].getByte(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 3
    ICount: 20
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:112"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:113"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "getByte(long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:112"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "getByte(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:112,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:113,1"
      Dst: "[sun.misc.Unsafe].getByte(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:114,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionDepth: 3
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getByte(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 15
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:119"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:120"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "getByte(long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:119"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
        - "getByte(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:119,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:120,1"
      Dst: "[sun.misc.Unsafe].getByte(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:121,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByteUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getByte(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:127"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:126,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:127,1"
      Dst: "[sun.misc.Unsafe].getByte(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:128,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getInt(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 9
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:133,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:134,1"
      Dst: "[sun.misc.Unsafe].getInt(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:136,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getLong(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 10
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:141,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:142,1"
      Dst: "[sun.misc.Unsafe].getLong(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:144,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionDepth: 3
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getFloat(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 6
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:149,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:150,1"
      Dst: "[sun.misc.Unsafe].getFloat(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:152,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getDouble(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 7
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:157,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:158,1"
      Dst: "[sun.misc.Unsafe].getDouble(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:160,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionDepth: 3
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getShort(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 6
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:165,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:166,1"
      Dst: "[sun.misc.Unsafe].getShort(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:168,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionDepth: 3
    returnType: "char"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getChar(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 6
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:173,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:174,1"
      Dst: "[sun.misc.Unsafe].getChar(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:176,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[sun.misc.Unsafe].getByte(long)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 12
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:181"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:182"
        BranchSideFuncs:
        - "getByte(long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:181"
        BranchSideFuncs:
        - "getByte(long)"
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:182"
        BranchSideFuncs:
        - "setBufferPosition(java.nio.Buffer,int)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:181"
        BranchSideFuncs:
        - "getByte(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:181,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:182,1"
      Dst: "[sun.misc.Unsafe].getByte(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:183,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionDepth: 4
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:189,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 7
    ICount: 33
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:240"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:241"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:240"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:235,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:237,1"
      Dst: "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:243,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInput].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:245,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLongs(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionDepth: 4
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:195,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloats(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionDepth: 4
    returnType: "float[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:201,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDoubles(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionDepth: 4
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:207,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShorts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionDepth: 4
    returnType: "short[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:213,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionDepth: 4
    returnType: "char[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:219,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBooleans(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:225,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput"
    linkageType: ""
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput:230,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: 726
    functionLinenumberEnd: 734
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionUses: 5
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:727"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:728"
        BranchSideFuncs:
        - "advance()"
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:727"
        BranchSideFuncs:
        - "advance()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:727,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:732,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:718,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entries].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entries:718,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].newDirectBuffer(long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.nio.ByteBuffer"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].isNewDirectBufferAvailable()"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:127"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:130"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:127,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].isNewDirectBufferAvailable()"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:128,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:130,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:130,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:130,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:132,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:132,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeUtil].isNewDirectBufferAvailable()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:138"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeUtil:137"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:146,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,short[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "short[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeShorts(short[],int,int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:154"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:153"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:155,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShorts(short[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeShorts(short[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "short[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionUses: 0
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:909"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:920"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:919"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:913"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:917"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:920"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:922"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:910,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:921,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionDepth: 5
    returnType: "short[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShorts(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShorts(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShorts(int)"
    - "[com.esotericsoftware.kryo.io.Input].readShorts(int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:160"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:161"
        BranchSideFuncs:
        - "readShorts(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:160"
        BranchSideFuncs:
        - "readShorts(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:159,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:161,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShorts(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readShorts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 1057
    functionLinenumberEnd: 1070
    functionDepth: 4
    returnType: "short[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    functionUses: 1
    ICount: 36
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1059"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1066"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1065"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1062"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1063"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1066"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1068"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1059,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1067,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].copy(com.esotericsoftware.kryo.Kryo,short[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "short[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "short[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:166,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].copy(com.esotericsoftware.kryo.Kryo,short[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].copy(com.esotericsoftware.kryo.Kryo,short[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,short[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,short[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap$Keys:584"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Keys:585"
        BranchSideFuncs:
        - "findNextIndex()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Keys:584"
        BranchSideFuncs:
        - "findNextIndex()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:584,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:587,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].toList()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.ObjectMap$Keys].toList(java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:597,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:597,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].toList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].toList(java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$Keys].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectMap$Keys:602"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Keys:604"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectMap$Keys:603"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:603,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].next()"
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:603,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:574,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Keys].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Keys:574,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:108,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:109,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:113,1"
      Dst: "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:113,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:117,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:117,1"
      Dst: "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:121,1"
      Dst: "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField:121,1"
      Dst: "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].<init>(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:41,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - "[java.util.zip.Deflater].<init>(int,boolean)"
    - "[java.util.zip.DeflaterOutputStream].<init>(java.io.OutputStream,java.util.zip.Deflater)"
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    - "[java.util.zip.DeflaterOutputStream].finish()"
    - "[java.util.zip.Deflater].end()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:46,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:47,1"
      Dst: "[java.util.zip.Deflater].<init>(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:49,1"
      Dst: "[java.util.zip.DeflaterOutputStream].<init>(java.io.OutputStream,java.util.zip.Deflater)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:50,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:51,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:52,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:53,1"
      Dst: "[java.util.zip.DeflaterOutputStream].finish()"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:57,1"
      Dst: "[java.util.zip.Deflater].end()"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:59,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:50,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:88"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:89"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:87,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:88,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:57"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:57"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:59"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:60"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:59"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:61"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:60"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:56,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "com.esotericsoftware.kryo.io.Output:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:57,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:59,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.OutputChunked].flush()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].getOutputStream()"
    - "[java.io.OutputStream].write(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:100"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:99,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].flush()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:100,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:102,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].getOutputStream()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:102,1"
      Dst: "[java.io.OutputStream].write(int)"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:104,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].flush()"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.io.OutputChunked].writeChunkSize()"
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:54"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:54,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:56,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].writeChunkSize()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:57,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:59,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].writeChunkSize()"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].getOutputStream()"
    - "[java.io.OutputStream].write(int)"
    functionUses: 0
    ICount: 46
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:68"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:69"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:68"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:74"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:73"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:80"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:79"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:86"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:85"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.OutputChunked:88"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:92"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.OutputChunked:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:68,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:68,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:69,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].getOutputStream()"
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:71,1"
      Dst: "[java.io.OutputStream].write(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].getOutputStream()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.zip.Inflater].<init>(boolean)"
    - "[java.util.zip.InflaterInputStream].<init>(java.io.InputStream,java.util.zip.Inflater)"
    - "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer:java.util.zip.Inflater].end()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.zip.Inflater].end()"
    functionUses: 13
    ICount: 20
    EdgeCount: 90
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:64,1"
      Dst: "[java.util.zip.Inflater].<init>(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:66,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:66,1"
      Dst: "[java.util.zip.InflaterInputStream].<init>(java.io.InputStream,java.util.zip.Inflater)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:67,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:69,1"
      Dst: "[java.util.zip.Inflater].end()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:51,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:80"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:78,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:79,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:50,1"
      Dst: "[java.io.InputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].setNoHeaders(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].setCompressionLevel(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DeflateSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DeflateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DeflateSerializer:84,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader].resolveClass(java.io.ObjectStreamClass)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.io.ObjectStreamClass"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectStreamClass].getName()"
    - "[com.esotericsoftware.kryo.Kryo].getClassLoader()"
    - "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - "[java.io.ObjectInputStream].resolveClass(java.io.ObjectStreamClass)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:86,1"
      Dst: "[java.io.ObjectStreamClass].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:86,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getClassLoader()"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:86,1"
      Dst: "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:89,1"
      Dst: "[java.io.ObjectInputStream].resolveClass(java.io.ObjectStreamClass)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.JavaSerializer$ObjectInputStreamWithKryoClassLoader:91,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getClassLoader()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1101
    functionLinenumberEnd: 1103
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:48,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:49,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers:50,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].<init>()"
    - "[java.util.List].of()"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.List].of(java.lang.Object)"
    - "[java.util.List].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - "[java.util.List].subList(int,int)"
    functionUses: 0
    ICount: 26
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:93,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:94,1"
      Dst: "[java.util.List].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:94,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:95,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:95,1"
      Dst: "[java.util.List].of(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:96,1"
      Dst: "[java.util.List].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:97,1"
      Dst: "[java.util.List].subList(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].<init>()"
    - "[java.util.Map].of()"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Map].of(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:141,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:142,1"
      Dst: "[java.util.Map].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:142,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:142,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:143,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:143,1"
      Dst: "[java.util.Map].of(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:144,1"
      Dst: "[java.util.Map].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].registerSerializers(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].<init>()"
    - "[java.util.Set].of()"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Set].of(java.lang.Object)"
    - "[java.util.Set].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:187,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:188,1"
      Dst: "[java.util.Set].of()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:188,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:188,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:189,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:189,1"
      Dst: "[java.util.Set].of(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:190,1"
      Dst: "[java.util.Set].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Byte)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Byte].byteValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:96,1"
      Dst: "[java.lang.Byte].byteValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:96,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 4
    returnType: "java.lang.Byte"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.lang.Byte].valueOf(byte)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:100,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:100,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField"
    linkageType: ""
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:401,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getLong(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:406"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:409"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:408"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:407,1"
      Dst: "[java.lang.reflect.Field].getLong(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:407,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:409,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:411,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:412,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:412,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField"
    linkageType: ""
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[java.lang.reflect.Field].setLong(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 21
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:419"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:422"
        BranchSideFuncs:
        - "readVarLong(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:421"
        BranchSideFuncs:
        - "readLong()"
        - "setLong(java.lang.Object,long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:420,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:420,1"
      Dst: "[java.lang.reflect.Field].setLong(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:422,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:424,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:425,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:425,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getLong(java.lang.Object)"
    - "[java.lang.reflect.Field].setLong(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:432,1"
      Dst: "[java.lang.reflect.Field].getLong(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:432,1"
      Dst: "[java.lang.reflect.Field].setLong(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:434,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:435,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField:435,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:631,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:633,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:633,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:633,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:634,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:634,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:635,1"
      Dst: "[java.util.Map$Entry].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionDepth: 7
    returnType: "java.util.Map"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    functionUses: 13
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:639,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:641,1"
      Dst: "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:645,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:645,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:645,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:646,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:646,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:646,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:646,1"
      Dst: "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:631,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer:631,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:564,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,com.esotericsoftware.kryo.KryoSerializable)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "com.esotericsoftware.kryo.KryoSerializable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoSerializable].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:566,1"
      Dst: "[com.esotericsoftware.kryo.KryoSerializable].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer"
    linkageType: ""
    functionLinenumber: 569
    functionLinenumberEnd: 574
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.KryoSerializable"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.KryoSerializable].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:570,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:571,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:572,1"
      Dst: "[com.esotericsoftware.kryo.KryoSerializable].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,com.esotericsoftware.kryo.KryoSerializable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer:564,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,com.esotericsoftware.kryo.KryoSerializable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:86,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:86,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 4
    returnType: "java.lang.Boolean"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:90,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer:84,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:138,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getBoolean(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:142,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getBoolean(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:142,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setBoolean(java.lang.Object,int,boolean)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:146,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:146,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setBoolean(java.lang.Object,int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getBoolean(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setBoolean(java.lang.Object,int,boolean)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:150,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getBoolean(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField:150,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setBoolean(java.lang.Object,int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:183,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigInteger)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.math.BigInteger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.math.BigInteger].toByteArray()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:187"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:192"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:191"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:198"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:197"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:188,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:193,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:198,1"
      Dst: "[java.math.BigInteger].toByteArray()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:200,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer"
    linkageType: ""
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionDepth: 5
    returnType: "java.math.BigInteger"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(int)"
    - "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].newBigIntegerSubclass(java.lang.Class,byte[])"
    - "[java.math.BigInteger].<init>(byte[])"
    functionUses: 13
    ICount: 26
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:205"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:206"
        BranchSideFuncs:
        - "readBytes(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:205"
        BranchSideFuncs:
        - "readBytes(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:210"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:210"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:211"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:221"
        BranchSideFuncs:
        - "<init>(byte[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:204,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:206,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:209,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].newBigIntegerSubclass(java.lang.Class,byte[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:222,1"
      Dst: "[java.math.BigInteger].<init>(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].newBigIntegerSubclass(java.lang.Class,byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionDepth: 1
    returnType: "java.math.BigInteger"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:228"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:233"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:227,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:228,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:230,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:234,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:236,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigInteger)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.math.BigInteger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:33,1"
      Dst: "[java.io.InputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].allocate(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInputStream].<init>(java.nio.ByteBuffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInputStream].flipBuffer(java.nio.Buffer)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:38,1"
      Dst: "[java.nio.ByteBuffer].allocate(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:38,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].<init>(java.nio.ByteBuffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:39,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].flipBuffer(java.nio.Buffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].<init>(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:42,1"
      Dst: "[java.io.InputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].getByteBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.nio.ByteBuffer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].setByteBuffer(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].read()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].hasRemaining()"
    - "[java.nio.ByteBuffer].get()"
    functionUses: 3
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInputStream:55"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:56"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:55,1"
      Dst: "[java.nio.Buffer].hasRemaining()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:56,1"
      Dst: "[java.nio.ByteBuffer].get()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].read(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[java.nio.Buffer].remaining()"
    - "[java.nio.ByteBuffer].get(byte[],int,int)"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInputStream:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:61"
        BranchSideFuncs:
        - "min(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:60"
        BranchSideFuncs:
        - "min(int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferInputStream:62"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:63"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferInputStream:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:61,1"
      Dst: "[java.nio.Buffer].remaining()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:61,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:63,1"
      Dst: "[java.nio.ByteBuffer].get(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].available()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].remaining()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:68,1"
      Dst: "[java.nio.Buffer].remaining()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferInputStream].flipBuffer(java.nio.Buffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferInputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.Buffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].flip()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferInputStream:72,1"
      Dst: "[java.nio.Buffer].flip()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer:604,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer"
    linkageType: ""
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer:604,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumNameSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:32,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumNameSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Enum"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].name()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:37,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:37,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumNameSerializer"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionDepth: 6
    returnType: "java.lang.Enum"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 13
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:41,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:43,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumNameSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumNameSerializer:29,1"
      Dst: "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.reflect.Type"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].initialize(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:172,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:173,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].initialize(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].initialize(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.reflect.Type"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].initialize(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int[])"
    - "[java.lang.reflect.ParameterizedType].getRawType()"
    - "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    functionUses: 2
    ICount: 54
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:176"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:187"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:206"
        BranchSideFuncs:
        - "resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:193"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:194"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:193"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:205"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:204"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericType:199"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:202"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericType:201"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int[])"
        - "getClass()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:180,1"
      Dst: "[java.lang.reflect.ParameterizedType].getRawType()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:182,1"
      Dst: "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:186,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:192,1"
      Dst: "[java.lang.reflect.GenericArrayType].getGenericComponentType()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:196,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].initialize(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:197,1"
      Dst: "[com.esotericsoftware.kryo.util.GenericsUtil].resolveType(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:200,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:200,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericType:202,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 7
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].getType()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionDepth: 0
    returnType: "java.lang.reflect.Type"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericType].getTypeParameters()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.Generics$GenericType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:750,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.ConcurrentSkipListMap)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.concurrent.ConcurrentSkipListMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentSkipListMap].comparator()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:753,1"
      Dst: "[java.util.concurrent.ConcurrentSkipListMap].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:753,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionDepth: 7
    returnType: "java.util.concurrent.ConcurrentSkipListMap"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createConcurrentSkipListMap(java.lang.Class,java.util.Comparator)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:759,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:759,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createConcurrentSkipListMap(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createConcurrentSkipListMap(java.lang.Class,java.util.Comparator)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: 768
    functionLinenumberEnd: 784
    functionDepth: 1
    returnType: "java.util.concurrent.ConcurrentSkipListMap"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentSkipListMap].<init>(java.util.Comparator)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:769"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:770"
        BranchSideFuncs:
        - "<init>(java.util.Comparator)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:769"
        BranchSideFuncs:
        - "<init>(java.util.Comparator)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:769"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:774"
        BranchSideFuncs:
        - "<init>(java.util.Comparator)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:773"
        BranchSideFuncs:
        - "getConstructor(java.lang.Class[])"
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:775"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:781"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:780"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:770,1"
      Dst: "[java.util.concurrent.ConcurrentSkipListMap].<init>(java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:774,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:775,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:777,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:781,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:783,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.ConcurrentSkipListMap)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.concurrent.ConcurrentSkipListMap"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.concurrent.ConcurrentSkipListMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.concurrent.ConcurrentSkipListMap].comparator()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createConcurrentSkipListMap(java.lang.Class,java.util.Comparator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:764,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:764,1"
      Dst: "[java.util.concurrent.ConcurrentSkipListMap].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:764,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createConcurrentSkipListMap(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.ConcurrentSkipListMap)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:750,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.ConcurrentSkipListMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.ConcurrentSkipListMap)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer:750,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.ConcurrentSkipListMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.NoGenerics:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].buildHierarchy(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].popGenericType()"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].nextGenericTypes()"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.Generics$GenericType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].nextGenericClass()"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    - "com.esotericsoftware.kryo.util.Generics$GenericType[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].popTypeVariables(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.reflect.TypeVariable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.NoGenerics].getGenericTypesSize()"
    functionSourceFile: "com.esotericsoftware.kryo.util.NoGenerics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:34,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>(com.esotericsoftware.kryo.util.IntArray)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:53,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntArray:57,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>(int[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:63,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "boolean"
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:71,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:73,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].add(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:85"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:84,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:84,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].add(int,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:93"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:92,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:92,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].add(int,int,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:101"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:102"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:101,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:101,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].addAll(com.esotericsoftware.kryo.util.IntArray)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].addAll(com.esotericsoftware.kryo.util.IntArray,int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:110,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].addAll(com.esotericsoftware.kryo.util.IntArray,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].addAll(com.esotericsoftware.kryo.util.IntArray,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IntArray].addAll(int[],int,int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:114"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:116"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:115,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:115,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:116,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].addAll(int[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].addAll(int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:127"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:126,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:126,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:127,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].addAll(int[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].addAll(int[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:120,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].addAll(int[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].get(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:133"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:132"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:132,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:132,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].set(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:138"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:137,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:137,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].incr(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:142"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:143"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:142,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].mul(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:147,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].insert(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:152"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:153"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:152"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:154"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:155"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:158"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:152,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:152,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:154,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:154,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:156,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].swap(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:164"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:165"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:164"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:165"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:166"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:165"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:164,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:164,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].contains(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:175"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:177"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:176"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:175"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:174"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].indexOf(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:183"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:180"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].lastIndexOf(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:190"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].removeValue(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].removeIndex(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:196"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:202"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:201"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:197"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:195"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:198,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].removeIndex(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].removeIndex(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:211"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:214"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:213"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:207,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:207,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:212,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].removeRange(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.Math].max(int,int)"
    functionUses: 0
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:222"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:221"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:222"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:223"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:222"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:224"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:227"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:221,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:221,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:225,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:227,1"
      Dst: "[java.lang.Math].max(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].removeAll(com.esotericsoftware.kryo.util.IntArray)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].get(int)"
    - "[com.esotericsoftware.kryo.util.IntArray].removeIndex(int)"
    functionUses: 0
    ICount: 26
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:239"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:249"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:248"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:241"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:236"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:235"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:242"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:240"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:239"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:249"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:248"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:240,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].get(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:243,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].removeIndex(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].peek()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].first()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:264"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:265"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:264"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:264,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].shrink()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:276"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:277"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:276"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:276,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].ensureCapacity(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:285"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:284"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:286"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:287"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:286"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:284,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:284,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:286,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:286,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].setSize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:293"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:294"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:293"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:294"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:295"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:293,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:293,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:294,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:294,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].sort()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].sort(int[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:308,1"
      Dst: "[java.util.Arrays].sort(int[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].reverse()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:318"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].truncate(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:324"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:325"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:324"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionDepth: 0
    returnType: "int[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:329,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    functionUses: 10
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:334"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:335"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:334"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:337"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:338"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:334,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:343"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:344"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:343"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:344"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:345"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:346"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:345"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:347"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:348"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:347"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:349"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:350"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:349"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:352"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:354"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:353"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:353"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:350"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:349"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:358"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:359"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:358"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:363"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:366"
        BranchSideFuncs:
        - "append(char)"
        - "toString()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:360,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:361,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:362,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:364,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:368,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].toString(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:372"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:373"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:372"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntArray:376"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntArray:379"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:374,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:375,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:377,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IntArray:380,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntArray].'with'(int[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntArray"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.util.IntArray"
    argCount: 1
    argTypes:
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(int[])"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntArray:385,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(int[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeCollectionsFuzzer].<init>()"
    functionSourceFile: "DeserializeCollectionsFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "DeserializeCollectionsFuzzer:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeCollectionsFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "DeserializeCollectionsFuzzer"
    linkageType: ""
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].close()"
    - "[com.esotericsoftware.kryo.io.Input].close()"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    functionUses: 0
    ICount: 22
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "DeserializeCollectionsFuzzer:32"
      Branch Sides:
      - BranchSide: "DeserializeCollectionsFuzzer:35"
        BranchSideFuncs:
        - "setDefaultSerializer(java.lang.Class)"
      - BranchSide: "DeserializeCollectionsFuzzer:34"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(byte[])"
        - "close()"
    Callsites:
    - Src: "DeserializeCollectionsFuzzer:28,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].<init>()"
    - Src: "DeserializeCollectionsFuzzer:29,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - Src: "DeserializeCollectionsFuzzer:31,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - Src: "DeserializeCollectionsFuzzer:31,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - Src: "DeserializeCollectionsFuzzer:33,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - Src: "DeserializeCollectionsFuzzer:35,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - Src: "DeserializeCollectionsFuzzer:35,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - Src: "DeserializeCollectionsFuzzer:37,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "DeserializeCollectionsFuzzer:40,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:668,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TimeZone)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TimeZone].getID()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:670,1"
      Dst: "[java.util.TimeZone].getID()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:670,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer"
    linkageType: ""
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionDepth: 6
    returnType: "java.util.TimeZone"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TimeZone].getTimeZone(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    functionUses: 14
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:674,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:674,1"
      Dst: "[java.util.TimeZone].getTimeZone(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TimeZone)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer:668,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TimeZone)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField"
    linkageType: ""
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:179,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getInt(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:187"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:185,1"
      Dst: "[java.lang.reflect.Field].getInt(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:185,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:187,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:189,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:190,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:190,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[java.lang.reflect.Field].setInt(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 21
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:197"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:200"
        BranchSideFuncs:
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:199"
        BranchSideFuncs:
        - "setInt(java.lang.Object,int)"
        - "readInt()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:198,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:198,1"
      Dst: "[java.lang.reflect.Field].setInt(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:200,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:202,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:203,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:203,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getInt(java.lang.Object)"
    - "[java.lang.reflect.Field].setInt(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:210,1"
      Dst: "[java.lang.reflect.Field].getInt(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:210,1"
      Dst: "[java.lang.reflect.Field].setInt(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:212,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:213,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField:213,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:250,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].clone()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:255,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].setReadUnknownFieldData(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].getReadUnknownTagData()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].setChunkedEncoding(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:282"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:283"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:282,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:282,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].getChunkedEncoding()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].setChunkSize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:292"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:293"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:292,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig:292,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].getChunkSize()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericsHierarchy].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 135
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.IntArray].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getTypeParameters()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    - "[java.lang.Class].getGenericSuperclass()"
    - "[java.lang.Class].getSuperclass()"
    - "[com.esotericsoftware.kryo.util.IntArray].incr(int,int)"
    - "[com.esotericsoftware.kryo.util.IntArray].peek()"
    - "[com.esotericsoftware.kryo.util.IntArray].toArray()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    functionUses: 1
    ICount: 58
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:101"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:127"
        BranchSideFuncs:
        - "add(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:126"
        BranchSideFuncs:
        - "getSuperclass()"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:111"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:112"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:111"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:114"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:123"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:122"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:111"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:128"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:93,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:94,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:95,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:100,1"
      Dst: "[java.lang.Class].getTypeParameters()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:103,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:104,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:109,1"
      Dst: "[java.lang.Class].getGenericSuperclass()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:110,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:113,1"
      Dst: "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:120,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].incr(int,int)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:125,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].peek()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:132,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].toArray()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:133,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:133,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericsHierarchy].<init>(int,int,int[],java.lang.reflect.TypeVariable[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "int"
    - "int[]"
    - "java.lang.reflect.TypeVariable[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:136,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Generics$GenericsHierarchy].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.reflect.TypeVariable].getGenericDeclaration()"
    - "[java.lang.reflect.TypeVariable].getName()"
    functionUses: 1
    ICount: 37
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:162"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:161"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:144"
        BranchSideFuncs:
        - "length()"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:143"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:152"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:151"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:153"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:156"
        BranchSideFuncs:
        - "getSimpleName()"
      - BranchSide: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:155"
        BranchSideFuncs:
        - "append(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:144,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:145,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:151,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:152,1"
      Dst: "[java.lang.reflect.TypeVariable].getGenericDeclaration()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:154,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:156,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:157,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:158,1"
      Dst: "[java.lang.reflect.TypeVariable].getName()"
    - Src: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy:163,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:92,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,float[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "float[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeFloats(float[],int,int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:96"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:100"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:97,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:100,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:101,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloats(float[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeFloats(float[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "float[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.Float].floatToIntBits(float)"
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionUses: 0
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:865"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:878"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:877"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:869"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:875"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:878"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:880"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:866,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:870,1"
      Dst: "[java.lang.Float].floatToIntBits(float)"
    - Src: "com.esotericsoftware.kryo.io.Output:879,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionDepth: 5
    returnType: "float[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloats(int)"
    - "[com.esotericsoftware.kryo.io.Input].readFloats(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloats(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloats(int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:106"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:107"
        BranchSideFuncs:
        - "readFloats(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:106"
        BranchSideFuncs:
        - "readFloats(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:107,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloats(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readFloats(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 1013
    functionLinenumberEnd: 1030
    functionDepth: 4
    returnType: "float[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.lang.Float].intBitsToFloat(int)"
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    functionUses: 1
    ICount: 50
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1015"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1026"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1025"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1018"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1023"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1026"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1028"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1015,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1019,1"
      Dst: "[java.lang.Float].intBitsToFloat(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1027,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].copy(com.esotericsoftware.kryo.Kryo,float[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "float[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "float[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:112,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].copy(com.esotericsoftware.kryo.Kryo,float[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].copy(com.esotericsoftware.kryo.Kryo,float[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,float[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,float[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.BeanSerializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$1:64,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].compare(java.beans.PropertyDescriptor,java.beans.PropertyDescriptor)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.beans.PropertyDescriptor"
    - "java.beans.PropertyDescriptor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.beans.FeatureDescriptor].getName()"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$1:66,1"
      Dst: "[java.beans.FeatureDescriptor].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$1:66,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].compare(java.beans.PropertyDescriptor,java.beans.PropertyDescriptor)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$1:64,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].compare(java.beans.PropertyDescriptor,java.beans.PropertyDescriptor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].<init>(org.objenesis.strategy.InstantiatorStrategy)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.objenesis.strategy.InstantiatorStrategy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].setFallbackInstantiatorStrategy(org.objenesis.strategy.InstantiatorStrategy)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.objenesis.strategy.InstantiatorStrategy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].getFallbackInstantiatorStrategy()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.objenesis.strategy.InstantiatorStrategy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 116
    functionDepth: 2
    returnType: "org.objenesis.instantiator.ObjectInstantiator"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getEnclosingClass()"
    - "[java.lang.Class].isMemberClass()"
    - "[java.lang.Class].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    - "[com.esotericsoftware.reflectasm.ConstructorAccess].get(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,com.esotericsoftware.reflectasm.ConstructorAccess,java.lang.Class)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,java.lang.reflect.Constructor,java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.objenesis.strategy.SingleInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.SerializingInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.StdInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[org.objenesis.strategy.InstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    functionUses: 2
    ICount: 63
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:52"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:77"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "getDeclaredConstructor(java.lang.Class[])"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:55"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:55"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:56"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:57"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:78"
        BranchSideFuncs:
        - "get(java.lang.Class)"
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "getDeclaredConstructor(java.lang.Class[])"
        - "<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,java.lang.reflect.Constructor,java.lang.Class)"
        - "<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,com.esotericsoftware.reflectasm.ConstructorAccess,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:77"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "getDeclaredConstructor(java.lang.Class[])"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:96"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:115"
        BranchSideFuncs:
        - "isMemberClass()"
        - "getModifiers()"
        - "isStatic(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:114"
        BranchSideFuncs:
        - "newInstantiatorOf(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:97"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:100"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:99"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getSimpleName()"
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:97"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:100"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:99"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getSimpleName()"
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:101"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:110"
        BranchSideFuncs:
        - "toString()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:54,1"
      Dst: "[java.lang.Class].getEnclosingClass()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:55,1"
      Dst: "[java.lang.Class].isMemberClass()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:56,1"
      Dst: "[java.lang.Class].getModifiers()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:56,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:59,1"
      Dst: "[com.esotericsoftware.reflectasm.ConstructorAccess].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:60,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,com.esotericsoftware.reflectasm.ConstructorAccess,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:78,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:80,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:81,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:84,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,java.lang.reflect.Constructor,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:98,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:98,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:98,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:100,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:101,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:101,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:111,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy:115,1"
      Dst: "[org.objenesis.strategy.InstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,com.esotericsoftware.reflectasm.ConstructorAccess,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    - "com.esotericsoftware.reflectasm.ConstructorAccess"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2].<init>(com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy,java.lang.reflect.Constructor,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy"
    - "java.lang.reflect.Constructor"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2:84,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:857,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].create(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: 863
    functionLinenumberEnd: 898
    functionDepth: 1
    returnType: "java.util.Locale"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Locale].getDefault()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].isSameLocale(java.util.Locale,java.lang.String,java.lang.String,java.lang.String)"
    - "[java.util.Locale].<init>(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 113
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:865"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:867"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:868"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:869"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:868"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:869"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:870"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:871"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:870"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:871"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:872"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:871"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:872"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:873"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:872"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:873"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:874"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:873"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:874"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:875"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:874"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:875"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:876"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:875"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:876"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:877"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:876"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:877"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:878"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:877"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:878"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:879"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:878"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:879"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:880"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:881"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:882"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:881"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:882"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:883"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:882"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:883"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:884"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:883"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:884"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:885"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:884"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:885"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:886"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:885"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:886"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:887"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:886"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:887"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:893"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:894"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:895"
        BranchSideFuncs:
        - "isSameLocale(java.util.Locale,java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:894"
        BranchSideFuncs:
        - "isSameLocale(java.util.Locale,java.lang.String,java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:895"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:896"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:864,1"
      Dst: "[java.util.Locale].getDefault()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:865,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].isSameLocale(java.util.Locale,java.lang.String,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:897,1"
      Dst: "[java.util.Locale].<init>(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 44
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].isSameLocale(java.util.Locale,java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionDepth: 0
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.util.Locale"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.Locale].getCountry()"
    - "[java.util.Locale].getLanguage()"
    - "[java.util.Locale].getVariant()"
    functionUses: 21
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:914"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:-1"
        BranchSideFuncs:
        - "getVariant()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:914"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:-1"
        BranchSideFuncs:
        - "getVariant()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:915"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:914,1"
      Dst: "[java.util.Locale].getLanguage()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:914,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:914,1"
      Dst: "[java.util.Locale].getCountry()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:915,1"
      Dst: "[java.util.Locale].getVariant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Locale)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Locale"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Locale].getLanguage()"
    - "[com.esotericsoftware.kryo.io.Output].writeAscii(java.lang.String)"
    - "[java.util.Locale].getCountry()"
    - "[java.util.Locale].getVariant()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:901,1"
      Dst: "[java.util.Locale].getLanguage()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:901,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeAscii(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:902,1"
      Dst: "[java.util.Locale].getCountry()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:903,1"
      Dst: "[java.util.Locale].getVariant()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:903,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeAscii(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.lang.String].length()"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeAscii_slow(java.lang.String,int)"
    - "[java.lang.String].getBytes(int,int,byte[],int)"
    functionUses: 0
    ICount: 44
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:739"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:743"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:742"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:754"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:757"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:756"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:740,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:743,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.Output:749,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:751,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:755,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeAscii_slow(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:757,1"
      Dst: "[java.lang.String].getBytes(int,int,byte[],int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: 906
    functionLinenumberEnd: 911
    functionDepth: 6
    returnType: "java.util.Locale"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].create(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 13
    ICount: 9
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:907,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:910,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].create(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Locale)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer:857,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].readObject()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:41,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.ClassNotFoundException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].read()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].read()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:45,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].read()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].read()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 3
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:281"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:282"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:281"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:281,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].read(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].read(byte[])"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:49,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].read(byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].read(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:288,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    functionUses: 2
    ICount: 37
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:294"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:295"
        BranchSideFuncs:
        - "min(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:294"
        BranchSideFuncs:
        - "min(int,int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:301"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:302"
        BranchSideFuncs:
        - "optional(int)"
      - BranchSide: "com.esotericsoftware.kryo.io.Input:301"
        BranchSideFuncs:
        - "optional(int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:304"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:308"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:306"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:310"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:309"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:297"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:294,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:296,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:298,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.io.Input:303,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].read(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:53,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].read(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].skip(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].skip(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:57,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].skip(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(long,long)"
    - "[com.esotericsoftware.kryo.io.Input].skip(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:317"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:322"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:321"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:318,1"
      Dst: "[java.lang.Math].min(long,long)"
    - Src: "com.esotericsoftware.kryo.io.Input:319,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].skip(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].available()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoObjectInput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoObjectInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].close()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoObjectInput:65,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].close()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:63,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:65,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,int[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int,boolean)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:69"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:73"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:70,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:73,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:74,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 4
    argTypes:
    - "int[]"
    - "int"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:822"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:826"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:825"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:823"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:822"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:824,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.io.Output:826,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeInts(int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:801"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:814"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:813"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:805"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:811"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:814"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:816"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:802,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:815,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionDepth: 6
    returnType: "int[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readInts(int,boolean)"
    functionUses: 13
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:80"
        BranchSideFuncs:
        - "readInts(int,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:79"
        BranchSideFuncs:
        - "readInts(int,boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:78,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:80,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInts(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readInts(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 966
    functionLinenumberEnd: 974
    functionDepth: 5
    returnType: "int[]"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInts(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInts(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInts(int)"
    - "[com.esotericsoftware.kryo.io.Input].readInts(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:967"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:973"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:972"
        BranchSideFuncs:
        - "readInts(int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:969"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:970"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:970,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:973,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInts(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readInts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 945
    functionLinenumberEnd: 962
    functionDepth: 4
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 1
    ICount: 49
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:947"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:958"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:957"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:950"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:955"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:958"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:960"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:947,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:959,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].copy(com.esotericsoftware.kryo.Kryo,int[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:85,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].copy(com.esotericsoftware.kryo.Kryo,int[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:63,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].copy(com.esotericsoftware.kryo.Kryo,int[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,int[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer:63,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,int[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:119,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDateTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.LocalDateTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.LocalDateTime].toLocalDate()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - "[java.time.LocalDateTime].toLocalTime()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:121,1"
      Dst: "[java.time.LocalDateTime].toLocalDate()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:122,1"
      Dst: "[java.time.LocalDateTime].toLocalTime()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:122,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionDepth: 7
    returnType: "java.time.LocalDateTime"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[java.time.LocalDateTime].of(java.time.LocalDate,java.time.LocalTime)"
    functionUses: 13
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:126,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:127,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:128,1"
      Dst: "[java.time.LocalDateTime].of(java.time.LocalDate,java.time.LocalTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDateTime)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer:119,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDateTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1029,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicBoolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.concurrent.atomic.AtomicBoolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1031,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1031,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionDepth: 4
    returnType: "java.util.concurrent.atomic.AtomicBoolean"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    functionUses: 13
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1035,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1035,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicBoolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.atomic.AtomicBoolean"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.concurrent.atomic.AtomicBoolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1039,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1039,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicBoolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1029,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicBoolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicBoolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer:1029,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicBoolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeNumbersFuzzer].<init>()"
    functionSourceFile: "DeserializeNumbersFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "DeserializeNumbersFuzzer:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[DeserializeNumbersFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "DeserializeNumbersFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Input].close()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "DeserializeNumbersFuzzer:36"
      Branch Sides:
      - BranchSide: "DeserializeNumbersFuzzer:39"
        BranchSideFuncs: []
      - BranchSide: "DeserializeNumbersFuzzer:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "DeserializeNumbersFuzzer:32,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].<init>()"
    - Src: "DeserializeNumbersFuzzer:33,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class)"
    - Src: "DeserializeNumbersFuzzer:35,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeBoolean()"
    - Src: "DeserializeNumbersFuzzer:35,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setReferences(boolean)"
    - Src: "DeserializeNumbersFuzzer:37,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class)"
    - Src: "DeserializeNumbersFuzzer:39,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - Src: "DeserializeNumbersFuzzer:39,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    - Src: "DeserializeNumbersFuzzer:41,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "DeserializeNumbersFuzzer:44,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].isTypeNameAscii()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].getId()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].getInstantiator()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "org.objenesis.instantiator.ObjectInstantiator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].setInstantiator(org.objenesis.instantiator.ObjectInstantiator)"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.objenesis.instantiator.ObjectInstantiator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Registration:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Registration:77"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Registration:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Registration:76,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Registration].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.Registration"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Registration:81,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Registration:81,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:477,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.EnumSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.EnumSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.AbstractCollection].isEmpty()"
    - "[java.util.EnumSet].complementOf(java.util.EnumSet)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[java.util.AbstractCollection].iterator()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[java.util.AbstractCollection].size()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.util.Iterator].hasNext()"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:480"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:485"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:484"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:482"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:482"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:488"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:490"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:489"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:480,1"
      Dst: "[java.util.AbstractCollection].isEmpty()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:481,1"
      Dst: "[java.util.EnumSet].complementOf(java.util.EnumSet)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:482,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483,1"
      Dst: "[java.util.AbstractCollection].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:483,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:487,1"
      Dst: "[java.util.AbstractCollection].size()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:487,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:488,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:489,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionDepth: 6
    returnType: "java.util.EnumSet"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[java.util.EnumSet].noneOf(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.AbstractCollection].add(java.lang.Object)"
    functionUses: 13
    ICount: 16
    EdgeCount: 92
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:497"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:498"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:493,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:494,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:494,1"
      Dst: "[java.util.EnumSet].noneOf(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:495,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:496,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:498,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:498,1"
      Dst: "[java.util.AbstractCollection].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.EnumSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.EnumSet"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.EnumSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.EnumSet].copyOf(java.util.EnumSet)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:503,1"
      Dst: "[java.util.EnumSet].copyOf(java.util.EnumSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.EnumSet)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:477,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.EnumSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.EnumSet)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer:477,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.EnumSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:110,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:115,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.Map].copyOf(java.util.Map)"
    functionUses: 13
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:121"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:124"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:123"
        BranchSideFuncs:
        - "copyOf(java.util.Map)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:124,1"
      Dst: "[java.util.Map].copyOf(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    - "[java.util.Map].copyOf(java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:129,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:130,1"
      Dst: "[java.util.Map].copyOf(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:248"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:252"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:251"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:247,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:248,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:248,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:248,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:249,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:250,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:250,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:250,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:250,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:243,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:243,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer:101,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.BeanSerializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:186,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.MethodAccess].invoke(java.lang.Object,int,java.lang.Object[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:199"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:198"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:198,1"
      Dst: "[com.esotericsoftware.reflectasm.MethodAccess].invoke(java.lang.Object,int,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:199,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      - "java.lang.reflect.InvocationTargetException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].set(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.esotericsoftware.reflectasm.MethodAccess].invoke(java.lang.Object,int,java.lang.Object[])"
    functionUses: 1
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:207"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:206"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:204,1"
      Dst: "[com.esotericsoftware.reflectasm.MethodAccess].invoke(java.lang.Object,int,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty:207,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      - "java.lang.reflect.InvocationTargetException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:43,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:50,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:58"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:59"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:58"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:59"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:57,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:58,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:58,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:61,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:65,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:66,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.nio.ByteBuffer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.nio.ByteBuffer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:73,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:80"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:78,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:79,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:86"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:87"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:85,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].<init>(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:86,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getOutputStream()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:98,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:105,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(byte[],int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:112,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    - "[java.nio.ByteBuffer].put(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferLimit(java.nio.Buffer,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:118,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:119,1"
      Dst: "[java.nio.ByteBuffer].put(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:120,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:121,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferLimit(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:122,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.ByteBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].capacity()"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:128,1"
      Dst: "[java.nio.Buffer].capacity()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:128,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBuffer(java.nio.ByteBuffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getByteBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.nio.ByteBuffer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].toBytes()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - "[java.nio.ByteBuffer].get(byte[],int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:154,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:155,1"
      Dst: "[java.nio.ByteBuffer].get(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setPosition(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:161,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].reset()"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:165,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].reset()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:166,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].setBufferPosition(java.nio.Buffer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.nio.Buffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:170,1"
      Dst: "[java.nio.Buffer].position()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].flush()"
    - "[java.io.OutputStream].close()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:223"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:228"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:222,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].flush()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:225,1"
      Dst: "[java.io.OutputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:232"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:233"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:232,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:233,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].write(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:238"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:239"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:238"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:238,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:239,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].min(int,int)"
    - "[java.nio.ByteBuffer].put(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:266"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:267"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:266"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:272"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:273"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:272"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:266,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:267,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:269,1"
      Dst: "[java.nio.ByteBuffer].put(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:275,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].write(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:243,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(byte)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:249"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:250"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:249"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:249,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:250,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:255"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:256"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:255"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:255,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:256,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:261"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:262"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:261"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:261,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:262,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeInt(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:280"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:280"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:279"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:280"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:281"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:280"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:280,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:280,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:281,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:286,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:309,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:312,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeVarInt(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 103
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:319"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:320"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:319"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:320"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:326"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:325"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:321"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:322"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:321"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:326"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:333"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:332"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:333"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:342"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:341"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:342"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:352"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:351"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:321,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:323,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeVarIntFlag(boolean,int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "boolean"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 106
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:364"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:365"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:364"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:365"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:365"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:364"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:366"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:372"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:371"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:367"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:368"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:367"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:372"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:379"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:378"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:379"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:388"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:387"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:388"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:398"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:397"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:367,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:368,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeLong(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 39
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:412,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:415,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeVarLong(long,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 304
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:426"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:427"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:426"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:427"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:433"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:432"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:428"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:429"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:428"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:433"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:440"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:439"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:440"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:449"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:448"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:449"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:459"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:458"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:459"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:470"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:469"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:470"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:482"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:481"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:482"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:495"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:494"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:495"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:509"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:508"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:428,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:430,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeFloat(float)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.lang.Float].floatToIntBits(float)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:527,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:530,1"
      Dst: "[java.lang.Float].floatToIntBits(float)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:531,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeDouble(double)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:540,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:543,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:544,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeShort(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:557,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:559,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeChar(char)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:566,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:568,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBoolean(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:575"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:576"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:575"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:576"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:576"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:575"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:575,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:576,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeString(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii_slow(java.lang.String,int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[java.nio.ByteBuffer].get(int)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeVarIntFlag(boolean,int,boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeUtf8_slow(java.lang.String,int,int)"
    functionUses: 0
    ICount: 74
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:583"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:587"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:586"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:588"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:594"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:593"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:594"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:607"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:606"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:594"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:607"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:606"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:595"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:597"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:596"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:596"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:595"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:594"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:597"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:600"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:599"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:600"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:601"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:609"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:623"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:614"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:615"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:614"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:617"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:621"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:620"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:624"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:625"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:624"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:584,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:587,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:596,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:598,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii_slow(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:601,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:604,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:604,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:607,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeVarIntFlag(boolean,int,boolean)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:618,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:624,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeUtf8_slow(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 9
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii_slow(java.lang.String,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.String].getBytes(int,int,byte[],int)"
    - "[java.nio.ByteBuffer].put(byte[],int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:681"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:690"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:689"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:688"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:689"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:688"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:680,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:683,1"
      Dst: "[java.lang.String].getBytes(int,int,byte[],int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:684,1"
      Dst: "[java.nio.ByteBuffer].put(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:688,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeUtf8_slow(java.lang.String,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.lang.String].charAt(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 70
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:656"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:675"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:674"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:657"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:658"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:657"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:660"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:-1"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:-2"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:662"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:669"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:668"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:670"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:671"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:670"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:657,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:657,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:659,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:661,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(int)"
    - "[java.lang.String].length()"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii_slow(java.lang.String,int)"
    - "[java.nio.ByteBuffer].get(int)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 50
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:628"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:632"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:631"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:644"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:647"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:646"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:648"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:649"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:629,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:632,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:638,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:639,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:640,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:645,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeAscii_slow(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:652,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:652,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeInts(int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeInt(int)"
    functionUses: 0
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:695"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:707"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:706"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:698"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:704"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:707"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:709"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:696,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:700,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:705,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:708,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeLongs(long[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "long[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeLong(long)"
    functionUses: 0
    ICount: 56
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:729"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:728"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:716"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:726"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:729"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:731"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:714,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:718,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:727,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:730,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeLong(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeFloats(float[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "float[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.lang.Float].floatToIntBits(float)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeFloat(float)"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:735"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:747"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:746"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:738"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:744"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:747"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:749"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:736,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:739,1"
      Dst: "[java.lang.Float].floatToIntBits(float)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:740,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:745,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:748,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeFloat(float)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeDoubles(double[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "double[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeDouble(double)"
    functionUses: 0
    ICount: 57
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:753"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:769"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:768"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:756"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:766"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:769"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:771"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:754,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:757,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:758,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:767,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:770,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeDouble(double)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeShorts(short[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "short[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeShort(int)"
    functionUses: 0
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:775"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:784"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:783"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:777"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:781"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:784"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:786"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:776,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:779,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:782,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:785,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeShort(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeChars(char[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeChar(char)"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:790"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:799"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:798"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:792"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:796"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:799"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:801"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:791,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:794,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:797,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:800,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeChar(char)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBooleans(boolean[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.ByteBufferOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBoolean(boolean)"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:805"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:811"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:810"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:807"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:809"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:808"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:808"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:808"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:807"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.ByteBufferOutput:811"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.ByteBufferOutput:813"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:806,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].require(int)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:808,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:809,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].getBufferPosition(java.nio.Buffer)"
    - Src: "com.esotericsoftware.kryo.io.ByteBufferOutput:812,1"
      Dst: "[com.esotericsoftware.kryo.io.ByteBufferOutput].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$2].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$2"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassValue].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$2:77,1"
      Dst: "[java.lang.ClassValue].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$2].computeValue(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[]"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$2$name__3].bootstrap$()"
    - "[java.util.Comparator].comparing(java.util.function.Function)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].recordComponents(java.lang.Class,java.util.Comparator)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$2:79,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$2$name__3].bootstrap$()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$2:79,1"
      Dst: "[java.util.Comparator].comparing(java.util.function.Function)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$2:79,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].recordComponents(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$1].<init>(com.esotericsoftware.kryo.util.Pool,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.util.Pool"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.LinkedBlockingQueue].<init>(int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$1:48,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$1].add(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$1"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.LinkedBlockingQueue].offer(java.lang.Object)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$1:51,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].offer(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:87,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].isRecord(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:91"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:92"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].isRecord(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.ClassValue].get(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].type()"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].name()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].getValue(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 49
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:96"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:119"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:118"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:100"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:101"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:100"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:101"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:104"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:103"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:105"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:104"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:107"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:96,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:96,1"
      Dst: "[java.lang.ClassValue].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:97,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].type()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:98,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].name()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:100,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:100,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:100,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:101,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].getValue(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:107,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:111,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:114,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 54
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:621"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:622"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:621"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:622"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:623"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:622"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:625"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:626"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:625"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:625"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:626"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:625"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:629"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:623"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:622"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:629"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:623"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:622"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:626"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:626"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:625"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:626"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:627"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:626"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:626"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:627"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:626"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:629"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:631"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:630"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:629"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:631"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:630"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:621"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:630"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:629"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:621"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:630"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:629"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:621,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:623,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:625,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:629,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:626,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:626,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:627,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:627,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:627,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:627,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 77
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:651"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:652"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:651"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:655"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:657"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:656"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:656"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:656"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:655"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:656"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:655"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:657"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:658"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:659"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:658"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:659"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:659"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:663"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:666"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:666"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:666"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:660"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:659"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:671"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:670"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:669"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:671"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:670"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:651"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:670"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:669"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:651"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:670"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:669"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:651,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:652,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:654,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:654,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:656,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeReferenceOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:669,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:657,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - Src: "com.esotericsoftware.kryo.Kryo:659,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:659,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:660,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.Kryo:663,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:663,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:663,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:667,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 33
    CyclomaticComplexity: 17
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassValue].get(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].name()"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].type()"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].index()"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].invokeCanonicalConstructor(java.lang.Class,java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 13
    ICount: 54
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:125"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:150"
        BranchSideFuncs:
        - "name()"
        - "trace(java.lang.String,java.lang.String)"
        - "type()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:149"
        BranchSideFuncs:
        - "invokeCanonicalConstructor(java.lang.Class,java.lang.Object[])"
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:131"
        BranchSideFuncs:
        - "isPrimitive()"
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:132"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:135"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:134"
        BranchSideFuncs:
        - "isFinal(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:135"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:136"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:135"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:135"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:138"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:137"
        BranchSideFuncs:
        - "index()"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:123,1"
      Dst: "[java.lang.ClassValue].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:127,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].name()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].type()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:130,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:130,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:130,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:132,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:133,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].index()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:133,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:135,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:138,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:142,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:145,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:150,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].invokeCanonicalConstructor(java.lang.Class,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].isRecord(java.lang.Class<?>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:156,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:156,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:158,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:158,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].recordComponents(java.lang.Class<T>,java.util.Comparator<RecordComponent>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[]"
    argCount: 2
    argTypes:
    - "java.lang.Class<T>"
    - "java.util.Comparator<RecordComponent>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].<init>(java.lang.Class,java.lang.String,java.lang.Class,int)"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:226"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:225"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:226"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:227"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:217,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:224,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent].<init>(java.lang.Class,java.lang.String,java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:226,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:229,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:230,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:230,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:230,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].invokeCanonicalConstructor(java.lang.Class<?\
      \ extends T>,java.lang.Object[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class<? extends T>"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassValue].get(java.lang.Class)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:238,1"
      Dst: "[java.lang.ClassValue].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:238,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:240,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:241,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:241,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:241,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.reflect.Constructor"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].stream(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$type__4].bootstrap$()"
    - "[java.util.stream.Stream].map(java.util.function.Function)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$lambda_getCanonicalConstructor_0__5].bootstrap$()"
    - "[java.util.stream.Stream].toArray(java.util.function.IntFunction)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,java.lang.Class[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:248,1"
      Dst: "[java.util.Arrays].stream(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:248,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$type__4].bootstrap$()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:249,1"
      Dst: "[java.util.stream.Stream].map(java.util.function.Function)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:249,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$lambda_getCanonicalConstructor_0__5].bootstrap$()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:250,1"
      Dst: "[java.util.stream.Stream].toArray(java.util.function.IntFunction)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:251,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:253,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:254,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:254,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:254,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,java.lang.Class[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Constructor"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].canAccess(java.lang.Object)"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.RecordSerializer:264"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:270"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.RecordSerializer:269"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:263,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:264,1"
      Dst: "[java.lang.reflect.AccessibleObject].canAccess(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:265,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer:268,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    JavaMethodInfo:
      exceptions:
      - "java.lang.NoSuchMethodException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].setFixedFieldTypes(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer].lambda$getCanonicalConstructor$0(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:119,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,long[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int,boolean)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:123"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:127"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:127,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 4
    argTypes:
    - "long[]"
    - "int"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:856"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:860"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:859"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:857"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:856"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:858,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.io.Output:860,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLongs(long[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionDepth: 6
    returnType: "long[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readLongs(int,boolean)"
    functionUses: 13
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:134"
        BranchSideFuncs:
        - "readLongs(int,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:133"
        BranchSideFuncs:
        - "readLongs(int,boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:132,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLongs(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readLongs(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionDepth: 5
    returnType: "long[]"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLongs(int)"
    - "[com.esotericsoftware.kryo.io.Input].readLongs(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1003"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1009"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1008"
        BranchSideFuncs:
        - "readLongs(int)"
    - Branch String: "com.esotericsoftware.kryo.io.Input:1005"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1006"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1006,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:1009,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLongs(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].copy(com.esotericsoftware.kryo.Kryo,long[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:139,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].copy(com.esotericsoftware.kryo.Kryo,long[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].copy(com.esotericsoftware.kryo.Kryo,long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,long[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.KryoException].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:28,1"
      Dst: "[java.lang.RuntimeException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.KryoException].getMessage()"
    functionSourceFile: "com.esotericsoftware.kryo.KryoException"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuffer].<init>(int)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    - "[java.lang.AbstractStringBuilder:java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].length()"
    - "[java.lang.StringBuffer].append(java.lang.StringBuffer)"
    - "[java.lang.StringBuffer].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.KryoException:44"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.KryoException:45"
        BranchSideFuncs:
        - "<init>(int)"
        - "append(char)"
        - "getMessage()"
        - "length()"
      - BranchSide: "com.esotericsoftware.kryo.KryoException:44"
        BranchSideFuncs:
        - "<init>(int)"
        - "append(char)"
        - "getMessage()"
        - "length()"
    - Branch String: "com.esotericsoftware.kryo.KryoException:47"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.KryoException:48"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(java.lang.StringBuffer)"
      - BranchSide: "com.esotericsoftware.kryo.KryoException:47"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(java.lang.StringBuffer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.KryoException:44,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.esotericsoftware.kryo.KryoException:45,1"
      Dst: "[java.lang.StringBuffer].<init>(int)"
    - Src: "com.esotericsoftware.kryo.KryoException:46,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.KryoException:47,1"
      Dst: "[java.lang.StringBuffer].length()"
    - Src: "com.esotericsoftware.kryo.KryoException:47,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "com.esotericsoftware.kryo.KryoException:49,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.StringBuffer)"
    - Src: "com.esotericsoftware.kryo.KryoException:50,1"
      Dst: "[java.lang.StringBuffer].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].<init>(com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory:115,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].getConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].clone()"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].clone()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].clone()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1002,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URI)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.URI].toString()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1004,1"
      Dst: "[java.net.URI].toString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1004,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer"
    linkageType: ""
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionDepth: 6
    returnType: "java.net.URI"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.URI].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 13
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1009,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1009,1"
      Dst: "[java.net.URI].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1011,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URI)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer:1002,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.net.URI)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:198,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getDouble(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:202,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getDouble(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:202,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setDouble(java.lang.Object,int,double)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:206,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:206,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setDouble(java.lang.Object,int,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getDouble(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setDouble(java.lang.Object,int,double)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:210,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getDouble(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField:210,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setDouble(java.lang.Object,int,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Entry].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Entry"
    linkageType: ""
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Entry:475,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:790,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.TreeSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeSet].comparator()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:792,1"
      Dst: "[java.util.TreeSet].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:792,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionDepth: 7
    returnType: "java.util.TreeSet"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createTreeSet(java.lang.Class,java.util.Comparator)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 2
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:796,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:796,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createTreeSet(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createTreeSet(java.lang.Class,java.util.Comparator)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionDepth: 1
    returnType: "java.util.TreeSet"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeSet].<init>(java.util.Comparator)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:804"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:804"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:803"
        BranchSideFuncs:
        - "<init>(java.util.Comparator)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:804"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:807"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:806"
        BranchSideFuncs:
        - "getConstructor(java.lang.Class[])"
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:808"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:814"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:813"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:804,1"
      Dst: "[java.util.TreeSet].<init>(java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:807,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:808,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:810,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:814,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:816,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeSet)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.TreeSet"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.TreeSet"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.TreeSet].comparator()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createTreeSet(java.lang.Class,java.util.Comparator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:800,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:800,1"
      Dst: "[java.util.TreeSet].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:800,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createTreeSet(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeSet)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:790,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeSet)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer:790,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeSet)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2].newInstance()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2:87,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2:89,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2:89,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:920,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.nio.charset.Charset)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.charset.Charset].name()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:922,1"
      Dst: "[java.nio.charset.Charset].name()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:922,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer"
    linkageType: ""
    functionLinenumber: 925
    functionLinenumberEnd: 927
    functionDepth: 6
    returnType: "java.nio.charset.Charset"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.charset.Charset].forName(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    functionUses: 13
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:926,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:926,1"
      Dst: "[java.nio.charset.Charset].forName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.nio.charset.Charset)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer:920,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer:592,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer"
    linkageType: ""
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer:592,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumMapSerializer:31,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends EnumMap>,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumMapSerializer"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "java.util.EnumMap"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends EnumMap>"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.EnumMap].<init>(java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumMapSerializer:36,1"
      Dst: "[java.util.EnumMap].<init>(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.EnumMap)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.EnumMap"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.EnumMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.EnumMap].<init>(java.util.EnumMap)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumMapSerializer:40,1"
      Dst: "[java.util.EnumMap].<init>(java.util.EnumMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.EnumMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.EnumMap)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.EnumMapSerializer:28,1"
      Dst: "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.EnumMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1044,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicInteger)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.concurrent.atomic.AtomicInteger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1046,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1046,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    functionDepth: 4
    returnType: "java.util.concurrent.atomic.AtomicInteger"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 13
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1050,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1050,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicInteger)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.atomic.AtomicInteger"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.concurrent.atomic.AtomicInteger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1054,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1054,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicInteger)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1044,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicInteger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicInteger)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer:1044,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicInteger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: 754
    functionLinenumberEnd: 760
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    functionUses: 5
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:755"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:756"
        BranchSideFuncs:
        - "advance()"
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:755"
        BranchSideFuncs:
        - "advance()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:755,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:758,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].advance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].next()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:769"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:771"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:770"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:768,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:770,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:770,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].toArray(java.util.ArrayList)"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.ArrayList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].next()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:776"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:778"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:777"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:777,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:777,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:745,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Values].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Values:745,1"
      Dst: "[com.esotericsoftware.kryo.util.CuckooObjectMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:60,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getInt(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:64"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:67"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:65,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getInt(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:65,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setInt(java.lang.Object,int,int)"
    functionUses: 4
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:71"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:74"
        BranchSideFuncs:
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:73"
        BranchSideFuncs:
        - "readInt()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:72,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setInt(java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:74,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getInt(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setInt(java.lang.Object,int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:78,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getInt(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$IntAsmField:78,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setInt(java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer$Closure].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer$Closure"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer$Closure:49,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].buildHierarchy(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Generics$GenericsHierarchy].<init>(java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:45,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericsHierarchy].<init>(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    functionUses: 4
    ICount: 30
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:52"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:61"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:60"
        BranchSideFuncs:
        - "getDepth()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:54,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:63,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].popGenericType()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    functionUses: 12
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:69"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:null"
        BranchSideFuncs:
        - "getDepth()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:71"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:72"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:71,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericTypes()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.Generics$GenericType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionUses: 3
    ICount: 25
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:89"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:88"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:83"
        BranchSideFuncs:
        - "getDepth()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:89"
        BranchSideFuncs:
        - "pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:84,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:85,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericClass()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionDepth: 3
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:96"
        BranchSideFuncs:
        - "resolve(com.esotericsoftware.kryo.util.Generics)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:95"
        BranchSideFuncs:
        - "resolve(com.esotericsoftware.kryo.util.Generics)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:94,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericTypes()"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:96,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].pushTypeVariables(com.esotericsoftware.kryo.util.Generics$GenericsHierarchy,com.esotericsoftware.kryo.util.Generics$GenericType[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.util.Generics$GenericsHierarchy"
    - "com.esotericsoftware.kryo.util.Generics$GenericType[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    functionUses: 1
    ICount: 61
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:102"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:102"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:104"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:109"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:116"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
        - "max(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:115"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:134"
        BranchSideFuncs:
        - "resolve(com.esotericsoftware.kryo.util.Generics)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:121"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:122"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:121"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:123"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:126"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:125"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:110,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:111,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:120,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].popTypeVariables(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:143"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:142"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].resolveTypeVariable(java.lang.reflect.TypeVariable)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.reflect.TypeVariable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:151"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:147"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:149"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:149,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].getGenericTypesSize()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultGenerics].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultGenerics"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.reflect.TypeVariable].getName()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:161"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:167"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultGenerics:166"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultGenerics:162"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:160,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:162,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:163,1"
      Dst: "[java.lang.reflect.TypeVariable].getName()"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:165,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.util.DefaultGenerics:167,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory:177,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory:178,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].<init>(com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory:181,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].getConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].clone()"
    functionUses: 4
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory:190,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].clone()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory:190,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:57,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:79,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalLong)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.OptionalLong"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.OptionalLong].isPresent()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[java.util.OptionalLong].getAsLong()"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:83"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:81,1"
      Dst: "[java.util.OptionalLong].isPresent()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:81,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:82,1"
      Dst: "[java.util.OptionalLong].getAsLong()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:82,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionDepth: 4
    returnType: "java.util.OptionalLong"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.util.OptionalLong].empty()"
    - "[java.util.OptionalLong].of(long)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionUses: 13
    ICount: 11
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:85"
        BranchSideFuncs:
        - "readLong()"
        - "empty()"
        - "readBoolean()"
        - "of(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:86,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:87,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:87,1"
      Dst: "[java.util.OptionalLong].of(long)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:87,1"
      Dst: "[java.util.OptionalLong].empty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalLong)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer:79,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalLong)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:102,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getShort(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:106,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getShort(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:106,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setShort(java.lang.Object,int,short)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:110,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:110,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setShort(java.lang.Object,int,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getShort(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setShort(java.lang.Object,int,short)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:114,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getShort(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField:114,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setShort(java.lang.Object,int,short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers:49,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:309,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Period)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.Period"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Period].getYears()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.time.Period].getMonths()"
    - "[java.time.Period].getDays()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:311,1"
      Dst: "[java.time.Period].getYears()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:311,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:312,1"
      Dst: "[java.time.Period].getMonths()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:313,1"
      Dst: "[java.time.Period].getDays()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer"
    linkageType: ""
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionDepth: 6
    returnType: "java.time.Period"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.time.Period].of(int,int,int)"
    functionUses: 13
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:317,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:320,1"
      Dst: "[java.time.Period].of(int,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Period)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer:309,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Period)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:80,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:102,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:103,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[java.time.Year].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Recipe].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$Key].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntArray].equals(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale$Key].equals(java.lang.Object)"
    - "[com.esotericsoftware.asm.Type].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    functionUses: 2
    ICount: 20
    EdgeCount: 204
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:129"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:130"
        BranchSideFuncs:
        - "place(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:129"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:134"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:133"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:129"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:129,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:131,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:134,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:145"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:144"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:149"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:140,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:148,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].numberOfLeadingZeros(long)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].putResize(java.lang.Object,int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:299"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:305"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:304"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:300"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:305"
        BranchSideFuncs:
        - "putResize(java.lang.Object,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:304"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:302"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:299"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:291,1"
      Dst: "[java.lang.Long].numberOfLeadingZeros(long)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:302,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].putResize(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].putResize(java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:166"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:164"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:163"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:165,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].putAll(com.esotericsoftware.kryo.util.ObjectIntMap<?\
      \ extends K>)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap<? extends K>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].ensureCapacity(int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:156"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:160"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:159"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:158"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:151"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:152,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].ensureCapacity(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:158,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].ensureCapacity(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:284"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:285"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:284"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:283,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:284,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].get(java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].locateKey(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:175"
        BranchSideFuncs:
        - "locateKey(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:176,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].getAndIncrement(java.lang.Object,int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:189"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:188"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:193"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:192"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:183,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:192,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].remove(java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:199"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:198"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:212"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:211"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:205"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:210"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:209"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:197,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:204,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].notEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:218"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].isEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:224"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:223"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].shrink(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:231"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:232"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:231"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:233"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:234"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:233"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:231,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:231,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:232,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:233,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].clear(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].clear()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:239"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:243"
        BranchSideFuncs:
        - "clear()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:242"
        BranchSideFuncs:
        - "resize(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:238,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].tableSize(int,float)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:240,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].clear()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:244,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].resize(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:248"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:249"
        BranchSideFuncs:
        - "fill(java.lang.Object[],java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:248"
        BranchSideFuncs:
        - "fill(java.lang.Object[],java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:250,1"
      Dst: "[java.util.Arrays].fill(java.lang.Object[],java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].containsValue(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:258"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:260"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:259"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:259"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].containsKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].locateKey(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:264"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:263"
        BranchSideFuncs:
        - "locateKey(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:264,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].locateKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].findKey(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:273"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:277"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:276"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:275"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:275"
      Branch Sides: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.chrono.AbstractChronology].hashCode()"
    - "[java.text.FieldPosition].hashCode()"
    - "[java.awt.font.NumericShaper].hashCode()"
    - "[java.lang.module.ResolvedModule].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].hashCode()"
    - "[java.security.CodeSource].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntArray].hashCode()"
    - "[java.time.Period].hashCode()"
    - "[sun.java2d.loops.CompositeType].hashCode()"
    - "[java.awt.RenderingHints].hashCode()"
    - "[java.time.ZoneId].hashCode()"
    - "[java.lang.reflect.Field].hashCode()"
    - "[sun.font.FontLineMetrics].hashCode()"
    - "[java.awt.MenuShortcut].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Provides].hashCode()"
    - "[java.time.OffsetTime].hashCode()"
    - "[java.math.BigInteger].hashCode()"
    - "[javax.crypto.spec.SecretKeySpec].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap].hashCode()"
    - "[java.time.Instant].hashCode()"
    - "[java.lang.reflect.Constructor].hashCode()"
    - "[java.util.HashMap$Node].hashCode()"
    - "[java.time.zone.ZoneOffsetTransitionRule].hashCode()"
    - "[java.time.MonthDay].hashCode()"
    - "[java.lang.ProcessHandleImpl].hashCode()"
    - "[java.awt.geom.Rectangle2D].hashCode()"
    - "[java.lang.Package].hashCode()"
    - "[java.util.Calendar].hashCode()"
    - "[java.awt.AttributeValue].hashCode()"
    - "[java.lang.ProcessBuilder$Redirect].hashCode()"
    - "[sun.util.calendar.CalendarDate].hashCode()"
    - "[java.security.Provider$ServiceKey].hashCode()"
    - "[java.lang.Thread$WeakClassKey].hashCode()"
    - "[java.time.OffsetDateTime].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].hashCode()"
    - "[java.util.OptionalInt].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[jdk.internal.misc.Signal].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[java.security.CodeSigner].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[java.awt.RenderingHints$Key].hashCode()"
    - "[java.time.Clock].hashCode()"
    - "[java.util.Date].hashCode()"
    - "[java.security.Timestamp].hashCode()"
    - "[java.util.AbstractSet].hashCode()"
    - "[java.awt.geom.Point2D].hashCode()"
    - "[java.util.UUID].hashCode()"
    - "[java.awt.PageAttributes$PrintQualityType].hashCode()"
    - "[java.security.AllPermission].hashCode()"
    - "[java.text.NumberFormat].hashCode()"
    - "[java.awt.font.FontRenderContext].hashCode()"
    - "[java.awt.image.ColorModel].hashCode()"
    - "[java.awt.BufferCapabilities$FlipContents].hashCode()"
    - "[java.time.LocalTime].hashCode()"
    - "[java.awt.JobAttributes$DefaultSelectionType].hashCode()"
    - "[java.awt.Dimension].hashCode()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].hashCode()"
    - "[sun.nio.fs.UnixFileStore].hashCode()"
    - "[java.awt.PageAttributes$MediaType].hashCode()"
    - "[java.security.cert.CertPath].hashCode()"
    - "[java.time.format.DecimalStyle].hashCode()"
    - "[java.time.zone.ZoneRules].hashCode()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].hashCode()"
    - "[java.awt.image.IndexColorModel].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[sun.util.locale.BaseLocale].hashCode()"
    - "[java.beans.IndexedPropertyDescriptor].hashCode()"
    - "[java.net.SocketPermission].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[java.io.FilePermission].hashCode()"
    - "[java.net.URI].hashCode()"
    - "[java.nio.CharBuffer].hashCode()"
    - "[java.util.EnumMap].hashCode()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Key].hashCode()"
    - "[java.lang.StackTraceElement].hashCode()"
    - "[sun.nio.fs.UnixPath].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[java.lang.invoke.LambdaForm].hashCode()"
    - "[java.awt.PageAttributes$OriginType].hashCode()"
    - "[com.esotericsoftware.asm.Handle].hashCode()"
    - "[java.time.zone.ZoneOffsetTransition].hashCode()"
    - "[java.awt.BasicStroke].hashCode()"
    - "[sun.util.locale.LocaleExtensions].hashCode()"
    - "[sun.font.AttributeValues].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Requires].hashCode()"
    - "[java.awt.AlphaComposite].hashCode()"
    - "[java.sql.Timestamp].hashCode()"
    - "[java.awt.Font].hashCode()"
    - "[java.math.MathContext].hashCode()"
    - "[java.math.BigDecimal].hashCode()"
    - "[java.awt.datatransfer.MimeTypeParameterList].hashCode()"
    - "[java.nio.ShortBuffer].hashCode()"
    - "[java.util.Hashtable$Entry].hashCode()"
    - "[java.awt.font.TextHitInfo].hashCode()"
    - "[java.awt.JobAttributes$DestinationType].hashCode()"
    - "[java.nio.LongBuffer].hashCode()"
    - "[java.util.GregorianCalendar].hashCode()"
    - "[java.time.LocalDate].hashCode()"
    - "[java.time.temporal.ValueRange].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[java.awt.AWTKeyStroke].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[java.nio.FloatBuffer].hashCode()"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    - "[java.awt.JobAttributes$DialogType].hashCode()"
    - "[java.nio.IntBuffer].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.util.AbstractList].hashCode()"
    - "[java.time.Duration].hashCode()"
    - "[java.util.ResourceBundle$CacheKey].hashCode()"
    - "[java.util.zip.ZipEntry].hashCode()"
    - "[java.awt.DisplayMode].hashCode()"
    - "[java.lang.invoke.MethodType].hashCode()"
    - "[java.net.InterfaceAddress].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$RecipeElement].hashCode()"
    - "[java.net.Proxy].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.security.BasicPermission].hashCode()"
    - "[java.net.NetworkInterface].hashCode()"
    - "[java.lang.module.ModuleDescriptor].hashCode()"
    - "[java.awt.datatransfer.MimeType].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[java.util.jar.Attributes$Name].hashCode()"
    - "[java.util.Vector].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].hashCode()"
    - "[java.time.ZonedDateTime].hashCode()"
    - "[java.awt.PageAttributes].hashCode()"
    - "[java.awt.Color].hashCode()"
    - "[java.nio.charset.Charset].hashCode()"
    - "[java.util.PropertyPermission].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Type].hashCode()"
    - "[sun.util.locale.BaseLocale$Key].hashCode()"
    - "[java.lang.reflect.Method].hashCode()"
    - "[java.net.InetAddress].hashCode()"
    - "[sun.java2d.loops.SurfaceType].hashCode()"
    - "[java.util.BitSet].hashCode()"
    - "[java.nio.file.attribute.FileTime].hashCode()"
    - "[java.lang.invoke.MemberName].hashCode()"
    - "[javax.security.auth.Subject].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.time.YearMonth].hashCode()"
    - "[java.awt.geom.AffineTransform].hashCode()"
    - "[java.net.URL].hashCode()"
    - "[java.lang.Runtime$Version].hashCode()"
    - "[java.net.HttpCookie].hashCode()"
    - "[java.nio.ByteBuffer].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[java.security.AccessControlContext].hashCode()"
    - "[java.util.Properties].hashCode()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].hashCode()"
    - "[java.nio.DoubleBuffer].hashCode()"
    - "[java.awt.PageAttributes$ColorType].hashCode()"
    - "[java.text.DateFormat].hashCode()"
    - "[javax.crypto.CryptoPermission].hashCode()"
    - "[java.text.ParsePosition].hashCode()"
    - "[java.lang.invoke.LambdaForm$Name].hashCode()"
    - "[java.util.jar.Attributes].hashCode()"
    - "[java.text.MessageFormat].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Exports].hashCode()"
    - "[java.lang.Character$Subset].hashCode()"
    - "[java.security.cert.Certificate].hashCode()"
    - "[java.util.TreeMap$Entry].hashCode()"
    - "[sun.util.calendar.Era].hashCode()"
    - "[java.util.WeakHashMap$Entry].hashCode()"
    - "[java.text.DecimalFormatSymbols].hashCode()"
    - "[java.time.LocalDateTime].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.util.Locale].hashCode()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].hashCode()"
    - "[java.awt.Insets].hashCode()"
    - "[java.util.jar.Manifest].hashCode()"
    - "[java.time.Year].hashCode()"
    - "[java.util.ArrayList].hashCode()"
    - "[java.lang.reflect.Parameter].hashCode()"
    - "[java.text.AttributedCharacterIterator$Attribute].hashCode()"
    - "[sun.nio.ch.FileKey].hashCode()"
    - "[java.lang.invoke.StringConcatFactory$Recipe].hashCode()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].hashCode()"
    - "[sun.font.FontStrikeDesc].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].hashCode()"
    - "[java.util.zip.ZipFile$Source$Key].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[java.awt.JobAttributes].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Version].hashCode()"
    - "[java.util.Optional].hashCode()"
    - "[com.esotericsoftware.asm.Type].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.time.ZoneOffset].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[sun.java2d.pipe.Region].hashCode()"
    - "[java.awt.font.TransformAttribute].hashCode()"
    - "[com.esotericsoftware.kryo.util.IntMap].hashCode()"
    - "[java.util.OptionalDouble].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.util.OptionalLong].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[java.util.Hashtable].hashCode()"
    - "[sun.font.CoreMetrics].hashCode()"
    - "[java.net.Inet4Address].hashCode()"
    - "[java.awt.JobAttributes$SidesType].hashCode()"
    - "[java.beans.PropertyDescriptor].hashCode()"
    - "[java.util.IdentityHashMap].hashCode()"
    - "[java.text.DateFormatSymbols].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Opens].hashCode()"
    - "[java.awt.PageAttributes$OrientationRequestedType].hashCode()"
    - "[java.awt.datatransfer.DataFlavor].hashCode()"
    functionUses: 10
    ICount: 16
    EdgeCount: 211
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:311"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:315"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:314"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:313"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:307"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:313,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].equals(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].get(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].containsKey(java.lang.Object)"
    functionUses: 7
    ICount: 30
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:319"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:320"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:319"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:320"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:321"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:320"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:322"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:323"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:325"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:333"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:332"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:327"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:323"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "get(java.lang.Object,int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:322"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:329"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:330"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:329"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:329"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:330"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:329"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:330"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:322"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:328,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].get(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:329,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].containsKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:337,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 344
    functionLinenumberEnd: 369
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 46
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:346"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:345"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:345"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:347"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:348"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:347"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:351"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:353"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:354"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:353"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:359"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:367"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:366"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:361"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:362"
        BranchSideFuncs:
        - "append(java.lang.Object)"
        - "append(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:361"
        BranchSideFuncs:
        - "append(java.lang.Object)"
        - "append(java.lang.String)"
        - "append(int)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap:367"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:368"
        BranchSideFuncs:
        - "toString()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap:367"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:346,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:347,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:354,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:356,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:362,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:368,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 8
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String,boolean)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:341,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].toString(java.lang.String,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].entries()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:372,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].entries()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].entries()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:377,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Entry].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:455,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:452,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entry].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:406,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator:408,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entry].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entry:390,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].values()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:382,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.ObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:482,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap].keys()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Keys"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap:387,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Keys].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField"
    linkageType: ""
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:443,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getDouble(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:448,1"
      Dst: "[java.lang.reflect.Field].getDouble(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:448,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:450,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:451,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:451,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField"
    linkageType: ""
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    - "[java.lang.reflect.Field].setDouble(java.lang.Object,double)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:458,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:458,1"
      Dst: "[java.lang.reflect.Field].setDouble(java.lang.Object,double)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:460,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:461,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:461,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getDouble(java.lang.Object)"
    - "[java.lang.reflect.Field].setDouble(java.lang.Object,double)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:468,1"
      Dst: "[java.lang.reflect.Field].getDouble(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:468,1"
      Dst: "[java.lang.reflect.Field].setDouble(java.lang.Object,double)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:470,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:471,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField:471,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:156,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getChar(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:160,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getChar(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:160,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setChar(java.lang.Object,int,char)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:164,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:164,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setChar(java.lang.Object,int,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getChar(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setChar(java.lang.Object,int,char)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:168,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getChar(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$CharAsmField:168,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setChar(java.lang.Object,int,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField"
    linkageType: ""
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:184,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:185,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:192"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:190,1"
      Dst: "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:190,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:192,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField"
    linkageType: ""
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    functionUses: 4
    ICount: 15
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:196"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:199"
        BranchSideFuncs:
        - "readVarLong(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:198"
        BranchSideFuncs:
        - "readLong()"
        - "putLong(java.lang.Object,long,long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:197,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:197,1"
      Dst: "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:199,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:203,1"
      Dst: "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField:203,1"
      Dst: "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException:27,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException:31,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoBufferUnderflowException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoBufferUnderflowException:39,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:156,1"
      Dst: "[java.util.HashSet].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:161,1"
      Dst: "[java.util.HashSet].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.Set].of(java.lang.Object[])"
    - "[java.util.AbstractCollection].toArray()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toArray()"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].toArray()"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].toArray()"
    - "[java.util.Set].toArray()"
    functionUses: 13
    ICount: 11
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:167"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:170"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:169"
        BranchSideFuncs:
        - "of(java.lang.Object[])"
        - "toArray()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:166,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:170,1"
      Dst: "[java.util.Set].toArray()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:170,1"
      Dst: "[java.util.Set].of(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.util.Set"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - "[java.util.Set].copyOf(java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:175,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:176,1"
      Dst: "[java.util.Set].copyOf(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Collection].add(java.lang.Object)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:262"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:264"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:263"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:260,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:261,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:262,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:262,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:262,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:263,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:263,1"
      Dst: "[java.util.Collection].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:256,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:256,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField"
    linkageType: ""
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:216,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getString(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:220,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getString(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:220,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField"
    linkageType: ""
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    functionUses: 4
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:224,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:224,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getString(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:228,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getString(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$StringAsmField:228,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].set(java.lang.Object,int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$1].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$1"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassValue].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$1:71,1"
      Dst: "[java.lang.ClassValue].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.RecordSerializer$1].computeValue(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.RecordSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.reflect.Constructor"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer$1$index__6].bootstrap$()"
    - "[java.util.Comparator].comparing(java.util.function.Function)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].recordComponents(java.lang.Class,java.util.Comparator)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$1:73,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer$1$index__6].bootstrap$()"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$1:73,1"
      Dst: "[java.util.Comparator].comparing(java.util.function.Function)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$1:73,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].recordComponents(java.lang.Class,java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.RecordSerializer$1:74,1"
      Dst: "[com.esotericsoftware.kryo.serializers.RecordSerializer].getCanonicalConstructor(java.lang.Class,com.esotericsoftware.kryo.serializers.RecordSerializer$RecordComponent[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:243,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetDateTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.OffsetDateTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.OffsetDateTime].toLocalDate()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - "[java.time.OffsetDateTime].toLocalTime()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - "[java.time.OffsetDateTime].getOffset()"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:245,1"
      Dst: "[java.time.OffsetDateTime].toLocalDate()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:245,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:246,1"
      Dst: "[java.time.OffsetDateTime].toLocalTime()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:246,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:247,1"
      Dst: "[java.time.OffsetDateTime].getOffset()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:247,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer"
    linkageType: ""
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionDepth: 7
    returnType: "java.time.OffsetDateTime"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - "[java.time.OffsetDateTime].of(java.time.LocalDate,java.time.LocalTime,java.time.ZoneOffset)"
    functionUses: 13
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:251,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:252,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:253,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:254,1"
      Dst: "[java.time.OffsetDateTime].of(java.time.LocalDate,java.time.LocalTime,java.time.ZoneOffset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetDateTime)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer:243,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.OffsetDateTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:525,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:527,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuffer].toString()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:531"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:531"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:530"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:531,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:531,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionDepth: 6
    returnType: "java.lang.StringBuffer"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.lang.StringBuffer].<init>(java.lang.String)"
    functionUses: 13
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:536"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:537"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:536"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:535,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:537,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuffer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.StringBuffer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuffer].<init>(java.lang.CharSequence)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:541,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuffer)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:525,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuffer)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer:525,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:652,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:654,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:654,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:654,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionDepth: 7
    returnType: "java.util.Set"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[java.util.Collections].singleton(java.lang.Object)"
    functionUses: 13
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:658,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:658,1"
      Dst: "[java.util.Collections].singleton(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.Set"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Collections].singleton(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:662,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:662,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:662,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:662,1"
      Dst: "[java.util.Collections].singleton(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:652,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer:652,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:35,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:40,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.OutputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.OutputChunked:45,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:198,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:200,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,double[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeDoubles(double[],int,int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:205,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:208,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:209,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDoubles(double[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeDoubles(double[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "double[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 65
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:885"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:902"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:901"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:889"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:899"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:902"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:904"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:886,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:890,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.esotericsoftware.kryo.io.Output:903,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionDepth: 5
    returnType: "double[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readDoubles(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDoubles(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDoubles(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDoubles(int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:214"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:215"
        BranchSideFuncs:
        - "readDoubles(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:214"
        BranchSideFuncs:
        - "readDoubles(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:213,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:215,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDoubles(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readDoubles(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 1033
    functionLinenumberEnd: 1054
    functionDepth: 4
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    functionUses: 1
    ICount: 77
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1035"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1050"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1049"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1038"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1047"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1050"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1052"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1035,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1039,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.esotericsoftware.kryo.io.Input:1051,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].copy(com.esotericsoftware.kryo.Kryo,double[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:220,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].copy(com.esotericsoftware.kryo.Kryo,double[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:198,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].copy(com.esotericsoftware.kryo.Kryo,double[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,double[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer:198,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,double[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:89,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:90,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:94,1"
      Dst: "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:94,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:98,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:98,1"
      Dst: "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:102,1"
      Dst: "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField:102,1"
      Dst: "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:41,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:48,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:55,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(byte[],int,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:62,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].read()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    functionUses: 3
    ICount: 18
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:77"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:76"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:76,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:77,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionDepth: 3
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    functionUses: 15
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:81"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:82"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:81"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:81,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:82,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByteUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:86"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:87"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:86,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:87,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    functionUses: 8
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:91,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:92,1"
      Dst: "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    functionUses: 9
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:98,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:99,1"
      Dst: "[sun.misc.Unsafe].getLong(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionDepth: 3
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    functionUses: 5
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:105,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:106,1"
      Dst: "[sun.misc.Unsafe].getFloat(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    functionUses: 6
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:112,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:113,1"
      Dst: "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionDepth: 3
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    functionUses: 5
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:119,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:120,1"
      Dst: "[sun.misc.Unsafe].getShort(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionDepth: 3
    returnType: "char"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    functionUses: 5
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:126,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:127,1"
      Dst: "[sun.misc.Unsafe].getChar(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    functionUses: 12
    ICount: 19
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:134"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:133"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:133"
        BranchSideFuncs:
        - "getByte(java.lang.Object,long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:133,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:134,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionDepth: 4
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:140,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 7
    ICount: 31
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeInput:191"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:192"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeInput:191"
        BranchSideFuncs:
        - "min(int,int)"
        - "require(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:186,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:188,1"
      Dst: "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:194,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLongs(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionDepth: 4
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:146,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloats(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionDepth: 4
    returnType: "float[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:152,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDoubles(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionDepth: 4
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:158,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShorts(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionDepth: 4
    returnType: "short[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:164,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionDepth: 4
    returnType: "char[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:170,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBooleans(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:176,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeInput"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeInput:181,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].write(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:39,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].write(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:228"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:229"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:228"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:228,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].write(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].write(byte[])"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:43,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].write(byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].write(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:234"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:235"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:234,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:235,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].write(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].write(byte[],int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:47,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].write(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].write(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:240,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeBoolean(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:51,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeByte(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:55,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeShort(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:59,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeChar(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:63,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeLong(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:71,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeFloat(float)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:75,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeDouble(double)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:79,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeBytes(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.Output].write(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.KryoDataOutput:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.KryoDataOutput:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:83,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:85,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:85,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].write(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeChars(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[com.esotericsoftware.kryo.io.Output].write(int)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.KryoDataOutput:91"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.KryoDataOutput:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:90,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:92,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:93,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].write(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].writeUTF(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:99,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataOutput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].close()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataOutput:103,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].close()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:546,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:548,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuilder)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].toString()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:552"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:552"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:551"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:552,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:552,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionDepth: 6
    returnType: "java.lang.StringBuilder"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readStringBuilder()"
    - "[com.esotericsoftware.kryo.io.Input].readStringBuilder()"
    functionUses: 13
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:556,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readStringBuilder()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readStringBuilder()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 833
    functionLinenumberEnd: 848
    functionDepth: 5
    returnType: "java.lang.StringBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.Input].readAsciiString()"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readUtf8Chars(int)"
    - "[com.esotericsoftware.kryo.io.Input].readUtf8Chars(int)"
    - "[java.lang.StringBuilder].append(char[],int,int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:834"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:835"
        BranchSideFuncs:
        - "readVarIntFlag(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:834,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - Src: "com.esotericsoftware.kryo.io.Input:834,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readAsciiString()"
    - Src: "com.esotericsoftware.kryo.io.Input:834,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Input:836,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:841,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:844,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readUtf8Chars(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:846,1"
      Dst: "[java.lang.StringBuilder].append(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuilder)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.StringBuilder"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(java.lang.CharSequence)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:560,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuilder)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:546,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.StringBuilder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuilder)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer:546,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.StringBuilder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeyClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].getKeyClass()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeyClass(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeySerializer(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].getKeySerializer()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].getValueClass()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueClass(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueSerializer(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].getValueSerializer()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.util.Map].size()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[java.util.Map$Entry].getKey()"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 0
    ICount: 75
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:121"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:120"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:122"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:128"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:127"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:145"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:144"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:135"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:139"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:138"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:138"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:137"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:138"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:139"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:145"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:144"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:144"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:144"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:145"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:164"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:163"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:147"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:154"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:153"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:152"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:151"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:156"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:155"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:156"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:162"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:161"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:157"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:160"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:159"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:121,1"
      Dst: "[java.util.Map].size()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:133,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:133,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:137,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:137,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:145,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:145,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:145,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:146,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:147,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:150,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:150,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:152,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:155,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:158,1"
      Dst: "[java.util.Map$Entry].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 31
    CyclomaticComplexity: 15
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(int)"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    functionUses: 1
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:182"
        BranchSideFuncs:
        - "newInstance(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:179"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:178"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:180"
        BranchSideFuncs:
        - "<init>(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:181,1"
      Dst: "[java.util.HashMap].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:183,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 240
    functionDepth: 7
    returnType: "java.util.Map"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ConcurrentSkipListMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.EnumMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.util.NoGenerics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].popGenericType()"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 14
    ICount: 69
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:188"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:null"
        BranchSideFuncs:
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:193"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:194"
        BranchSideFuncs:
        - "nextGenericTypes()"
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:200"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:217"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:201"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:208"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:217"
        BranchSideFuncs:
        - "isFinal(java.lang.Class)"
        - "resolve(com.esotericsoftware.kryo.util.Generics)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:210"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:217"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:210"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:217"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:217"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:237"
        BranchSideFuncs:
        - "getGenerics()"
        - "popGenericType()"
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:220"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:219"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:220"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:226"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:225"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:224"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:223"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:227"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:228"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:229"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:235"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:234"
        BranchSideFuncs:
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.serializers.MapSerializer:230"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:233"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.MapSerializer:232"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:187,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:191,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:192,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].nextGenericTypes()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:202,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].resolve(com.esotericsoftware.kryo.util.Generics)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:203,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:204,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:219,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].pushGenericType(com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:222,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:224,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:226,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:227,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:236,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 31
    CyclomaticComplexity: 15
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:42,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.MapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.MapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.MapSerializer:42,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:228,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:229,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:233,1"
      Dst: "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:233,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField"
    linkageType: ""
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    functionUses: 4
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:237,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:237,1"
      Dst: "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:241,1"
      Dst: "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField:241,1"
      Dst: "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Float)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Float].floatValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:146,1"
      Dst: "[java.lang.Float].floatValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:146,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeFloat(float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 4
    returnType: "java.lang.Float"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readFloat()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readFloat()"
    - "[java.lang.Float].valueOf(float)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:150,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:150,1"
      Dst: "[java.lang.Float].valueOf(float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Float)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1074,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicReference)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.concurrent.atomic.AtomicReference"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1076,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1076,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionDepth: 7
    returnType: "java.util.concurrent.atomic.AtomicReference"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    functionUses: 13
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1080,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1081,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicReference)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.concurrent.atomic.AtomicReference"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.concurrent.atomic.AtomicReference"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1085,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1085,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1085,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicReference)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1074,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.concurrent.atomic.AtomicReference)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicReference)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer:1074,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.concurrent.atomic.AtomicReference)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer:580,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer"
    linkageType: ""
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer:580,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory:155,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory:156,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].<init>(com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory:159,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$BaseSerializerFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].getConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].clone()"
    functionUses: 4
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory:168,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].clone()"
    - Src: "com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory:168,1"
      Dst: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].clone()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:155,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[java.beans.Introspector].getBeanInfo(java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.beans.BeanInfo].getPropertyDescriptors()"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.beans.FeatureDescriptor].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].getReadMethod()"
    - "[java.beans.PropertyDescriptor].getWriteMethod()"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[com.esotericsoftware.reflectasm.MethodAccess].get(java.lang.Class)"
    - "[java.lang.reflect.Method].getName()"
    - "[com.esotericsoftware.reflectasm.MethodAccess].getIndex(java.lang.String,java.lang.Class[])"
    functionUses: 0
    ICount: 82
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:92"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:91"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:73"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:74"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:73"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:62"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:78"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:81"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:82"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:96"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:58,1"
      Dst: "[java.beans.Introspector].getBeanInfo(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:60,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:63,1"
      Dst: "[java.beans.BeanInfo].getPropertyDescriptors()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:64,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:64,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:69,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:72,1"
      Dst: "[java.beans.FeatureDescriptor].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:73,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:74,1"
      Dst: "[java.beans.PropertyDescriptor].getReadMethod()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:75,1"
      Dst: "[java.beans.PropertyDescriptor].getWriteMethod()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:80,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:81,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:81,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:81,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].<init>(com.esotericsoftware.kryo.serializers.BeanSerializer)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:88,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:89,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:92,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:92,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:95,1"
      Dst: "[com.esotericsoftware.reflectasm.MethodAccess].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:98,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:98,1"
      Dst: "[com.esotericsoftware.reflectasm.MethodAccess].getIndex(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 50
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:110"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:133"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:132"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:113"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:114"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:113"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:119"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:109,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:113,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:113,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:113,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:114,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:119,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:125,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:128,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].set(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    functionUses: 13
    ICount: 56
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:138"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:162"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:161"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:141"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:142"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:147"
        BranchSideFuncs:
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:146"
        BranchSideFuncs:
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:137,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:141,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:141,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:145,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:147,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].set(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:150,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:150,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:157,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BeanSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BeanSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].set(java.lang.Object,java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 38
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.BeanSerializer:167"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:183"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.BeanSerializer:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:166,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:166,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:170,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty].set(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:173,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:173,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.BeanSerializer$CachedProperty,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:173,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:176,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.BeanSerializer:178,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Short)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Short"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Short].shortValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:116,1"
      Dst: "[java.lang.Short].shortValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:116,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeShort(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 4
    returnType: "java.lang.Short"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readShort()"
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readShort()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readShort()"
    - "[java.lang.Short].valueOf(short)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:120,1"
      Dst: "[java.lang.Short].valueOf(short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Short)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer:114,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Short)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField"
    linkageType: ""
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:329,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getBoolean(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:334,1"
      Dst: "[java.lang.reflect.Field].getBoolean(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:334,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:336,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:337,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:337,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField"
    linkageType: ""
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.lang.reflect.Field].setBoolean(java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:344,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:344,1"
      Dst: "[java.lang.reflect.Field].setBoolean(java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:346,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:347,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:347,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getBoolean(java.lang.Object)"
    - "[java.lang.reflect.Field].setBoolean(java.lang.Object,boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:354,1"
      Dst: "[java.lang.reflect.Field].getBoolean(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:354,1"
      Dst: "[java.lang.reflect.Field].setBoolean(java.lang.Object,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:356,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:357,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField:357,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].addField(java.lang.reflect.Field,boolean,java.util.ArrayList<CachedField>,java.util.ArrayList<CachedField>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 196
    functionDepth: 5
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.reflect.Field"
    - "boolean"
    - "java.util.ArrayList<CachedField>"
    - "java.util.ArrayList<CachedField>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    - "[java.lang.reflect.Field].isSynthetic()"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].containsKey(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].getContext()"
    - "[java.util.ArrayList].contains(java.lang.Object)"
    - "[java.lang.reflect.Modifier].isTransient(int)"
    - "[java.lang.reflect.Field].getDeclaringClass()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - "[java.lang.reflect.Field].getGenericType()"
    - "[com.esotericsoftware.kryo.util.Generics$GenericType].getType()"
    - "[java.lang.reflect.Field].getType()"
    - "[java.lang.reflect.Modifier].isFinal(int)"
    - "[java.lang.reflect.Modifier].isPublic(int)"
    - "[java.lang.Class].getModifiers()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Class)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].newUnsafeField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].newAsmField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].newReflectField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[java.lang.reflect.Field].getName()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].applyAnnotations(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Optional].value()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].getIndex(java.lang.reflect.Field)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 167
    EdgeCount: 44
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:117"
        BranchSideFuncs:
        - "isSynthetic()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:116"
        BranchSideFuncs:
        - "isSynthetic()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:120"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:119"
        BranchSideFuncs:
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:120"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:119"
        BranchSideFuncs:
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:120"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:130"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:129"
        BranchSideFuncs:
        - "getContext()"
        - "containsKey(java.lang.Object)"
        - "getAnnotation(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:121"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:123"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:122"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "debug(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:125"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:123"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "debug(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:122"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "debug(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:131"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:133"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:132"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:131"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:133"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:132"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:135"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:134"
        BranchSideFuncs:
        - "isTransient(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:138"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:137"
        BranchSideFuncs:
        - "getGenericType()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:138"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:137"
        BranchSideFuncs:
        - "getGenericType()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:138"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:137"
        BranchSideFuncs:
        - "getGenericType()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:138"
        BranchSideFuncs:
        - "getType()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:137"
        BranchSideFuncs:
        - "getGenericType()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:142"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:155"
        BranchSideFuncs:
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:155"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:155"
        BranchSideFuncs:
        - "getModifiers()"
        - "isPublic(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:145"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:155"
        BranchSideFuncs:
        - "isTransient(int)"
        - "getGenericType()"
        - "contains(java.lang.Object)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "getModifiers()"
        - "getContext()"
        - "<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
        - "getType()"
        - "getDeclaringClass()"
        - "isAccessible()"
        - "containsKey(java.lang.Object)"
        - "setAccessible(boolean)"
        - "get(java.lang.Class)"
        - "isPublic(int)"
        - "getAnnotation(java.lang.Class)"
        - "isSynthetic()"
        - "debug(java.lang.String,java.lang.String)"
        - "isStatic(int)"
        - "isFinal(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:147"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:148"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:147"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:155"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:154"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:null"
        BranchSideFuncs:
        - "newUnsafeField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:157"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:162"
        BranchSideFuncs:
        - "newAsmField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:161"
        BranchSideFuncs:
        - "newReflectField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:165"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:168"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:167"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:170"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:null"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:171"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:171"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
        - "isFinal(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:170"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:171"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:171"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
        - "isFinal(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:170"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:170"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
        - "isFinal(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:173"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:174"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:185"
        BranchSideFuncs:
        - "applyAnnotations(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:179"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:178"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:179"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:178"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:182"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:185"
        BranchSideFuncs:
        - "applyAnnotations(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:188"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:192"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:191"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:190"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:189"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:190"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:115,1"
      Dst: "[java.lang.reflect.Field].getModifiers()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:116,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:118,1"
      Dst: "[java.lang.reflect.Field].isSynthetic()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:120,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:123,1"
      Dst: "[java.lang.reflect.Field].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:125,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:125,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:130,1"
      Dst: "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:131,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getContext()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:131,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Optional].value()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:131,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].containsKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:133,1"
      Dst: "[java.util.ArrayList].contains(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:135,1"
      Dst: "[java.lang.reflect.Modifier].isTransient(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:138,1"
      Dst: "[java.lang.reflect.Field].getDeclaringClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:139,1"
      Dst: "[java.lang.reflect.Field].getGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:139,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].<init>(java.lang.Class,java.lang.Class,java.lang.reflect.Type)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:140,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics$GenericType].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:140,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:143,1"
      Dst: "[java.lang.reflect.Modifier].isFinal(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:144,1"
      Dst: "[java.lang.reflect.Modifier].isPublic(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:145,1"
      Dst: "[java.lang.Class].getModifiers()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:147,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].get(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:148,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getIndex(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:150,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:156,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].newUnsafeField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:158,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].newAsmField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:162,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].newReflectField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:166,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:166,1"
      Dst: "[java.lang.reflect.Field].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:171,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:172,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:176,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:175,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:186,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].applyAnnotations(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:189,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 64
    CyclomaticComplexity: 28
  - functionName: "[com.esotericsoftware.kryo.Kryo].getContext()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1206
    functionLinenumberEnd: 1209
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.util.ObjectMap"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1207"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1207,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].newUnsafeField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    functionUses: 1
    ICount: 63
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:199"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:200"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:199"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:200"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:201"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:200"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:201"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:202"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:201"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:202"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:203"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:202"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:204"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:203"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:205"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:204"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:205"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:206"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:205"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:206"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:208"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:211"
        BranchSideFuncs:
        - "getReferences()"
        - "useReferences(java.lang.Class)"
        - "getReferenceResolver()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:210"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:210"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:209"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:211"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:210"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:198,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:199,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:200,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:201,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:202,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:203,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:204,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:205,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:206,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:209,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:209,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:209,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:210,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:211,1"
      Dst: "[com.esotericsoftware.kryo.serializers.UnsafeField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:64,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:65,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:146,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:147,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:209,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:210,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:127,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:128,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:37,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:38,1"
      Dst: "[sun.misc.Unsafe].objectFieldOffset(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].newAsmField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - "[com.esotericsoftware.kryo.util.MapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.ListReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.HashMapReferenceResolver].useReferences(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.AsmField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    functionUses: 1
    ICount: 63
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:215"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:225"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:224"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:216"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:217"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:216"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:217"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:218"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:217"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:219"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:218"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:220"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:219"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:220"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:221"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:220"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:222"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:221"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:222"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:223"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:222"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:223"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:224"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:225"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:228"
        BranchSideFuncs:
        - "getReferences()"
        - "useReferences(java.lang.Class)"
        - "getReferenceResolver()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:227"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:226"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:227"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:226"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:226"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:228"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:227"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:215,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:216,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:217,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:218,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:219,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:220,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:221,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:222,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:223,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:226,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferences()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:226,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getReferenceResolver()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:226,1"
      Dst: "[com.esotericsoftware.kryo.ReferenceResolver].useReferences(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:227,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:228,1"
      Dst: "[com.esotericsoftware.kryo.serializers.AsmField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:120,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].newReflectField(java.lang.reflect.Field,java.lang.Class,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Field"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.util.Generics$GenericType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].<init>(java.lang.reflect.Field)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    functionUses: 1
    ICount: 50
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:232"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:242"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:241"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:233"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:234"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:233"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:234"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:235"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:234"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:235"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:236"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:235"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:236"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:237"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:236"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:237"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:238"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:237"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:238"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:239"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:238"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:239"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:240"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:239"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:240"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:241"
        BranchSideFuncs:
        - "<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:232,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:233,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:234,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:235,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:236,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:237,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:238,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:239,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:240,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].<init>(java.lang.reflect.Field)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:242,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ReflectField].<init>(java.lang.reflect.Field,com.esotericsoftware.kryo.serializers.FieldSerializer,com.esotericsoftware.kryo.util.Generics$GenericType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].<init>(java.lang.reflect.Field)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField"
    linkageType: ""
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Field"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:293,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].<init>(java.lang.reflect.Field)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].applyAnnotations(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 316
    functionLinenumberEnd: 390
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[java.lang.reflect.Field].getDeclaringClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.reflect.Field].getName()"
    - "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CachedFields].newSerializer(java.lang.Class,java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setSerializer(com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setVariableLengthEncoding(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setOptimizePositive(boolean)"
    - "[java.lang.reflect.Field].getType()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementSerializer(com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeysCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setValuesCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeyClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeySerializer(com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueSerializer(com.esotericsoftware.kryo.Serializer)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].valueClass()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].serializer()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].serializerFactory()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].canBeNull()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].variableLengthEncoding()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].optimizePositive()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementClass()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementSerializer()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementSerializerFactory()"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementsCanBeNull()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueClass()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueSerializer()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueSerializerFactory()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keyClass()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keySerializer()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keySerializerFactory()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keysCanBeNull()"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valuesCanBeNull()"
    functionUses: 1
    ICount: 131
    EdgeCount: 50
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:320"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:340"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:339"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:321"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:325"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:324"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:328"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:329"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:328"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:329"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:330"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:332"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:333"
        BranchSideFuncs:
        - "setVariableLengthEncoding(boolean)"
        - "setCanBeNull(boolean)"
        - "setOptimizePositive(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:340"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:362"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:361"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:341"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:345"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:344"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:347"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:346"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:350"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:351"
        BranchSideFuncs:
        - "setElementsCanBeNull(boolean)"
        - "setElementClass(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:350"
        BranchSideFuncs:
        - "setElementsCanBeNull(boolean)"
        - "setElementClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:356"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:357"
        BranchSideFuncs:
        - "setElementSerializer(com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:356"
        BranchSideFuncs:
        - "setElementSerializer(com.esotericsoftware.kryo.Serializer)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:357"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:358"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:357"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:362"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:389"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:388"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:363"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:367"
        BranchSideFuncs:
        - "getName()"
        - "getDeclaringClass()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:366"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:367"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:369"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "getType()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:368"
        BranchSideFuncs:
        - "getAnnotation(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:372"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:373"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:372"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:377"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:378"
        BranchSideFuncs:
        - "setValuesCanBeNull(boolean)"
        - "newSerializer(java.lang.Class,java.lang.Class,java.lang.Class)"
        - "setKeyClass(java.lang.Class)"
        - "<init>()"
        - "setKeysCanBeNull(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:377"
        BranchSideFuncs:
        - "setValuesCanBeNull(boolean)"
        - "newSerializer(java.lang.Class,java.lang.Class,java.lang.Class)"
        - "setKeyClass(java.lang.Class)"
        - "<init>()"
        - "setKeysCanBeNull(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:383"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:384"
        BranchSideFuncs:
        - "setKeySerializer(com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:383"
        BranchSideFuncs:
        - "setKeySerializer(com.esotericsoftware.kryo.Serializer)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:384"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:385"
        BranchSideFuncs:
        - "setValueClass(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:384"
        BranchSideFuncs:
        - "setValueClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:385"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:386"
        BranchSideFuncs:
        - "setValueSerializer(com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:385"
        BranchSideFuncs:
        - "setValueSerializer(com.esotericsoftware.kryo.Serializer)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:386"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:387"
        BranchSideFuncs:
        - "setSerializer(com.esotericsoftware.kryo.Serializer)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:386"
        BranchSideFuncs:
        - "setSerializer(com.esotericsoftware.kryo.Serializer)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:320,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:323,1"
      Dst: "[java.lang.reflect.Field].getDeclaringClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:323,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:323,1"
      Dst: "[java.lang.reflect.Field].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:323,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:323,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:325,1"
      Dst: "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:327,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].valueClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:329,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:331,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].serializer()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:331,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].serializerFactory()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:331,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].newSerializer(java.lang.Class,java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:332,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setSerializer(com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:334,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].canBeNull()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:334,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:335,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].variableLengthEncoding()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:335,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setVariableLengthEncoding(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:336,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$Bind].optimizePositive()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:336,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setOptimizePositive(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:345,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:345,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:346,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:346,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:349,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:351,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:352,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementSerializerFactory()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:354,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:355,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer$BindCollection].elementsCanBeNull()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:355,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementsCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:356,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:357,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementSerializer(com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:371,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:373,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueSerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:374,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valueSerializerFactory()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:376,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keyClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:378,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keySerializer()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:378,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keySerializerFactory()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:380,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:381,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].keysCanBeNull()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:381,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeysCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:382,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer$BindMap].valuesCanBeNull()"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:382,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValuesCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:383,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeyClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:384,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setKeySerializer(com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:385,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:386,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].setValueSerializer(com.esotericsoftware.kryo.Serializer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 41
    CyclomaticComplexity: 16
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].newSerializer(java.lang.Class,java.lang.Class,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].newFactory(java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$FieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$TaggedFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$CompatibleFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$VersionFieldSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    - "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionUses: 4
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:392"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:393"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:392"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:393"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:394"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:393"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:394"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:395"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:394"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:394"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:395"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:394"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CachedFields:395"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:396"
        BranchSideFuncs:
        - "newFactory(java.lang.Class,java.lang.Class)"
        - "newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CachedFields:395"
        BranchSideFuncs:
        - "newFactory(java.lang.Class,java.lang.Class)"
        - "newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:396,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].newFactory(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:396,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementClass(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementSerializer(com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].compare(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:247,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CachedFields].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CachedFields"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CachedFields].compare(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CachedFields:73,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CachedFields].compare(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].<init>(java.util.Queue)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Queue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:148,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].poll()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Queue].poll()"
    - "[java.lang.ref.SoftReference].get()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:155"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:156"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:155"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:157"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:158"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:154,1"
      Dst: "[java.util.Queue].poll()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:156,1"
      Dst: "[java.lang.ref.SoftReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].offer(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ref.SoftReference].<init>(java.lang.Object)"
    - "[java.util.Queue].add(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:162,1"
      Dst: "[java.lang.ref.SoftReference].<init>(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:162,1"
      Dst: "[java.util.Queue].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].size()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].size()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:166,1"
      Dst: "[java.util.Collection].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].clear()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].clear()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:170,1"
      Dst: "[java.util.Collection].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].cleanOne()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.ref.SoftReference].get()"
    - "[java.util.Iterator].remove()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:174"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:180"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:179"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:175"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:174"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:174,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:174,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:175,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:175,1"
      Dst: "[java.lang.ref.SoftReference].get()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:176,1"
      Dst: "[java.util.Iterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].clean()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue$lambda_clean_0__7].bootstrap$()"
    - "[java.util.Collection].removeIf(java.util.function.Predicate)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:183,1"
      Dst: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue$lambda_clean_0__7].bootstrap$()"
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:183,1"
      Dst: "[java.util.Collection].removeIf(java.util.function.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].add(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].isEmpty()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].contains(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].element()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].peek()"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].toArray(java.lang.Object[])"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].remove(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].containsAll(java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].addAll(java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].removeAll(java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].retainAll(java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].lambda$clean$0(java.lang.ref.SoftReference)"
    functionSourceFile: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.ref.SoftReference"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ref.SoftReference].get()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:183"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue:183,1"
      Dst: "[java.lang.ref.SoftReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: 585
    functionLinenumberEnd: 595
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Values:586"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Values:587"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Values:588"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Values:591"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Values:590"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:586,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:593,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].toList()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.ArrayList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.IntMap$Values].next()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Values:604"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Values:606"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Values:605"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:603,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:605,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:605,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:575,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Values].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Values:575,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setFieldsCanBeNull(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:422"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:423"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:422"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:422,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:422,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getFieldsCanBeNull()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setFieldsAsAccessible(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:435"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:436"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:435"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:435,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:435,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getSetFieldsAsAccessible()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setIgnoreSyntheticFields(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:446"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:447"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:446"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:446,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:446,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getIgnoreSyntheticFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setFixedFieldTypes(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:458"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:459"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:458"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:458,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:458,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getFixedFieldTypes()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setCopyTransient(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:469"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:470"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:469"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:469,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:469,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getCopyTransient()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setSerializeTransient(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:479"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:480"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:479"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:479,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:479,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getSerializeTransient()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setVariableLengthEncoding(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:492"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:493"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:492"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:492,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:492,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getVariableLengthEncoding()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].setExtendedFieldNames(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:503"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:504"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:503"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:503,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig:503,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].getExtendedFieldNames()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getBoolean(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:151,1"
      Dst: "[sun.misc.Unsafe].getBoolean(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:151,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putBoolean(java.lang.Object,long,boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:155,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:155,1"
      Dst: "[sun.misc.Unsafe].putBoolean(java.lang.Object,long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getBoolean(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putBoolean(java.lang.Object,long,boolean)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:159,1"
      Dst: "[sun.misc.Unsafe].getBoolean(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField:159,1"
      Dst: "[sun.misc.Unsafe].putBoolean(java.lang.Object,long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Long)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].longValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:136,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 5
    returnType: "java.lang.Long"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 13
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:140,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:140,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].register(com.esotericsoftware.kryo.Registration)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionDepth: 4
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Registration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Registration].getId()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 45
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:59"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:60"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:59"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:66"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:65"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:61"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:65"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:64"
        BranchSideFuncs:
        - "getId()"
        - "put(int,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:70"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "className(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:69"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "getType()"
        - "getWrapperClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:73"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:59,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:60,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getId()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:62,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:62,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:63,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:63,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:63,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:62,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:65,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:70,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:71,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].unregister(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].remove(int)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].remove(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:78"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:85"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:84"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:83"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:77,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].remove(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:79,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:79,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].remove(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:82,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].registerImplicit(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 5
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].register(com.esotericsoftware.kryo.Registration)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:89,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:89,1"
      Dst: "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:89,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].register(com.esotericsoftware.kryo.Registration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    functionUses: 6
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:93"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:94"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:93"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:99"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:98"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:94,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].getRegistration(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:103,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getId()"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].writeName(com.esotericsoftware.kryo.io.Output,java.lang.Class,com.esotericsoftware.kryo.Registration)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    functionUses: 0
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:107"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:112"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:111"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:107"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:109"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:109"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:108"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:113"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:116"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:115"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:116"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:117"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:108,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:108,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:108,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:109,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:112,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:113,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getId()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:114,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].writeName(com.esotericsoftware.kryo.io.Output,java.lang.Class,com.esotericsoftware.kryo.Registration)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:116,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:116,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:116,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:116,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:117,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].writeName(com.esotericsoftware.kryo.io.Output,java.lang.Class,com.esotericsoftware.kryo.Registration)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Registration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.Registration].isTypeNameAscii()"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.io.Output].writeAscii(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:133"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:132"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:133"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:132"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:127"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:128"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:127"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:135"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:136"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:135"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:138"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:141"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:140"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:123,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:125,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:127,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:127,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:127,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:127,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:127,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:128,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:133,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:135,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:136,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:138,1"
      Dst: "[com.esotericsoftware.kryo.Registration].isTypeNameAscii()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:139,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:139,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeAscii(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:141,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:67"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:66"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:67"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:63"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:64,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:60,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].readClass(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionDepth: 7
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].readName(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 1
    ICount: 52
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:147"
        BranchSideFuncs:
        - "log(java.lang.String,java.lang.Object,int)"
        - "getDepth()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:149"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:149"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:148"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:153"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:158"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:157"
        BranchSideFuncs:
        - "get(int)"
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:154"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:155"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:159"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:160"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "getType()"
        - "pos(int)"
        - "position()"
        - "className(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:159"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
        - "getType()"
        - "pos(int)"
        - "position()"
        - "className(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:160"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:161"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:160"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:145,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:148,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDepth()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:148,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:148,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:151,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].readName(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:155,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:155,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:155,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:155,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:154,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:158,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:159,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:159,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].readName(com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionDepth: 6
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.util.IntMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].getTypeByName(java.lang.String)"
    - "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - "[com.esotericsoftware.kryo.Kryo].getClassLoader()"
    - "[java.lang.Class].getClassLoader()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 57
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:168"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:169"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:168"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:170"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:191"
        BranchSideFuncs:
        - "forName(java.lang.String,boolean,java.lang.ClassLoader)"
        - "getTypeByName(java.lang.String)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "getClassLoader()"
        - "readString()"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:190"
        BranchSideFuncs:
        - "className(java.lang.Class)"
        - "trace(java.lang.String,java.lang.String)"
        - "pos(int)"
        - "position()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:174"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:188"
        BranchSideFuncs:
        - "forName(java.lang.String,boolean,java.lang.ClassLoader)"
        - "getTypeByName(java.lang.String)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "getClassLoader()"
        - "readString()"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:187"
        BranchSideFuncs:
        - "put(int,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:186"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:185"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:189"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:190"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:189"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:191"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:192"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:167,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:168,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:169,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:172,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:173,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].getTypeByName(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:176,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getClassLoader()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:176,1"
      Dst: "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:180,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:182,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:182,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:185,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].<init>()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:186,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:188,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:189,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:189,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:189,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:189,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:191,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:191,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:193,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].getTypeByName(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionDepth: 2
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:197"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:196"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:197,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.DefaultClassResolver].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultClassResolver"
    linkageType: ""
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].isRegistrationRequired()"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].clear(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].clear()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:201"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:206"
        BranchSideFuncs:
        - "clear(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:205"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:202"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:203"
        BranchSideFuncs:
        - "clear()"
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:202"
        BranchSideFuncs:
        - "clear()"
    - Branch String: "com.esotericsoftware.kryo.util.DefaultClassResolver:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:204"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.DefaultClassResolver:203"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:201,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isRegistrationRequired()"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:202,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].clear(int)"
    - Src: "com.esotericsoftware.kryo.util.DefaultClassResolver:203,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].isRegistrationRequired()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].<init>(com.esotericsoftware.kryo.Serializer,byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Serializer"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[javax.crypto.spec.SecretKeySpec].<init>(byte[],java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:41,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:43,1"
      Dst: "[javax.crypto.spec.SecretKeySpec].<init>(byte[],java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].getCipher(int)"
    - "[javax.crypto.CipherOutputStream].<init>(java.io.OutputStream,javax.crypto.Cipher)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BlowfishSerializer,java.io.OutputStream,int)"
    - "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].flush()"
    - "[javax.crypto.CipherOutputStream].close()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:47,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].getCipher(int)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:48,1"
      Dst: "[javax.crypto.CipherOutputStream].<init>(java.io.OutputStream,javax.crypto.Cipher)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:49,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BlowfishSerializer,java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:54,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].flush()"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:57,1"
      Dst: "[javax.crypto.CipherOutputStream].close()"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:59,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].getCipher(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionDepth: 1
    returnType: "javax.crypto.Cipher"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.crypto.Cipher].getInstance(java.lang.String)"
    - "[javax.crypto.Cipher].init(int,java.security.Key)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:75,1"
      Dst: "[javax.crypto.Cipher].getInstance(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:76,1"
      Dst: "[javax.crypto.Cipher].init(int,java.security.Key)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:79,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer$1].<init>(com.esotericsoftware.kryo.serializers.BlowfishSerializer,java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer$1:49,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].getCipher(int)"
    - "[javax.crypto.CipherInputStream].<init>(java.io.InputStream,javax.crypto.Cipher)"
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 13
    ICount: 12
    EdgeCount: 89
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:64,1"
      Dst: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].getCipher(int)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:65,1"
      Dst: "[javax.crypto.CipherInputStream].<init>(java.io.InputStream,javax.crypto.Cipher)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:66,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:66,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.BlowfishSerializer:70,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ReferenceResolver)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.ReferenceResolver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultClassResolver].<init>()"
    - "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ClassResolver,com.esotericsoftware.kryo.ReferenceResolver)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:174,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultClassResolver].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:174,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].<init>(com.esotericsoftware.kryo.ClassResolver,com.esotericsoftware.kryo.ReferenceResolver)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(com.esotericsoftware.kryo.SerializerFactory)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.SerializerFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:257"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:258"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:257"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:257,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setDefaultSerializer(java.lang.Class<?\
      \ extends Serializer>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Serializer>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].<init>(java.lang.Class)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:265"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:266"
        BranchSideFuncs:
        - "<init>(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:265"
        BranchSideFuncs:
        - "<init>(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:265,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:266,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].<init>(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.SerializerFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:282"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:283"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:282"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:283"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:284"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:283"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:282,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:284,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.String,java.lang.Class<?\
      \ extends Serializer>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Class<? extends Serializer>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - "[java.lang.Class].forName(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:292,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:292,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:294,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:294,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].addDefaultSerializer(java.lang.Class,java.lang.Class<?\
      \ extends Serializer>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class<? extends Serializer>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].<init>(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    functionUses: 56
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:427"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:428"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:427"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:428"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:429"
        BranchSideFuncs:
        - "<init>(java.lang.Class)"
        - "insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:428"
        BranchSideFuncs:
        - "<init>(java.lang.Class)"
        - "insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:427,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:429,1"
      Dst: "[com.esotericsoftware.kryo.SerializerFactory$ReflectionSerializerFactory].<init>(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:429,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].insertDefaultSerializer(java.lang.Class,com.esotericsoftware.kryo.SerializerFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:495"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:496"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:495"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:494,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:496,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getDefaultSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:496,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].register(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - "[com.esotericsoftware.kryo.Kryo].register(com.esotericsoftware.kryo.Registration)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:521"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:522"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:521"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:521,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:521,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:522,1"
      Dst: "[com.esotericsoftware.kryo.Registration].<init>(java.lang.Class,com.esotericsoftware.kryo.Serializer,int)"
    - Src: "com.esotericsoftware.kryo.Kryo:522,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].register(com.esotericsoftware.kryo.Registration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].register(com.esotericsoftware.kryo.Registration)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Registration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Registration].getId()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.ClassResolver].unregister(int)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.Registration,com.esotericsoftware.kryo.Registration)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.ClassResolver].register(com.esotericsoftware.kryo.Registration)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:534"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:535"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:537"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:540"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:539"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:537"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:540"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:539"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:537"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:540"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:539"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:533,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getId()"
    - Src: "com.esotericsoftware.kryo.Kryo:534,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:534,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:536,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].unregister(int)"
    - Src: "com.esotericsoftware.kryo.Kryo:537,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.Kryo:538,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.Registration,com.esotericsoftware.kryo.Registration)"
    - Src: "com.esotericsoftware.kryo.Kryo:538,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:540,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].register(com.esotericsoftware.kryo.Registration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.Kryo].getRegistration(int)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Registration"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.ClassResolver].getRegistration(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:594,1"
      Dst: "[com.esotericsoftware.kryo.ClassResolver].getRegistration(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class<T>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 765
    functionLinenumberEnd: 783
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 4
    ICount: 64
    EdgeCount: 186
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:766"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:767"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:766"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:767"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:768"
        BranchSideFuncs:
        - "beginObject()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:767"
        BranchSideFuncs:
        - "beginObject()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:771"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:773"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:771"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:771"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:775"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:778"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:778"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:778"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:773"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:772"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:782"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:781"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:781"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:782"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:781"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:766,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:768,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:772,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:781,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:774,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:774,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:774,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:775,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:778,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:778,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 26
    CyclomaticComplexity: 11
  - functionName: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class<T>,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 786
    functionLinenumberEnd: 805
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<T>"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 6
    ICount: 65
    EdgeCount: 183
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:787"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:788"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:787"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:788"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:789"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:788"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:789"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:790"
        BranchSideFuncs:
        - "beginObject()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:789"
        BranchSideFuncs:
        - "beginObject()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:793"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:795"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:793"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:793"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:797"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:800"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:800"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:800"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:795"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:794"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "position()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:804"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:803"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:803"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:804"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:803"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:787,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:790,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:794,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:803,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:796,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:797,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:800,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:800,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 28
    CyclomaticComplexity: 11
  - functionName: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class<T>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 809
    functionLinenumberEnd: 833
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 1
    ICount: 84
    EdgeCount: 194
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:810"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:811"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:810"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:811"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:812"
        BranchSideFuncs:
        - "beginObject()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:811"
        BranchSideFuncs:
        - "beginObject()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:815"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:817"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:815"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:815"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:819"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:822"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:822"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:823"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:823"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:823"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:828"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:828"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:828"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:817"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:816"
        BranchSideFuncs:
        - "getRegistration(java.lang.Class)"
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
        - "getSerializer()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:832"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:831"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:831"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:832"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:831"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:810,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:812,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:816,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:831,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:818,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:818,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getSerializer()"
    - Src: "com.esotericsoftware.kryo.Kryo:818,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:819,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:822,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - Src: "com.esotericsoftware.kryo.Kryo:822,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.Kryo:823,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:823,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 36
    CyclomaticComplexity: 17
  - functionName: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class<T>,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 837
    functionLinenumberEnd: 861
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<T>"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - "[com.esotericsoftware.kryo.serializers.ExternalizableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$LongArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearMonthSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LocaleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneOffsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DeflateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicReferenceSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$FloatArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BigDecimalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyMapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BeanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZoneIdSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimestampSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$IntArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptySetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBuilderSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$BooleanArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$PeriodSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsEmptyListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$DoubleArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicIntegerSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$StringArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicLongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$UUIDSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URISerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$ZonedDateTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$BitSetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalDoubleSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.BlowfishSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$AtomicBooleanSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$OffsetTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.JavaSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$KryoSerializableSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.EnumNameSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$YearSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharsetSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.RecordSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringBufferSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$URLSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionUses: 7
    ICount: 85
    EdgeCount: 191
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:838"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:839"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:838"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:839"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:840"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:839"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:840"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:841"
        BranchSideFuncs:
        - "beginObject()"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:840"
        BranchSideFuncs:
        - "beginObject()"
    - Branch String: "com.esotericsoftware.kryo.Kryo:844"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:846"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:844"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:844"
        BranchSideFuncs:
        - "readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:848"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:850"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:850"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:851"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:851"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:851"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:856"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:856"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:856"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:846"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:845"
        BranchSideFuncs:
        - "reset()"
        - "log(java.lang.String,java.lang.Object,int)"
        - "read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "getAcceptsNull()"
        - "position()"
        - "readByte()"
        - "reference(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:860"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:859"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:859"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:860"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:859"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:838,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:841,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].beginObject()"
    - Src: "com.esotericsoftware.kryo.Kryo:845,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readReferenceOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:859,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:847,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:848,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:850,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].getAcceptsNull()"
    - Src: "com.esotericsoftware.kryo.Kryo:850,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.Kryo:851,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.Kryo:851,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 38
    CyclomaticComplexity: 17
  - functionName: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    functionUses: 0
    ICount: 59
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:996"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:997"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:996"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:997"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:998"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:997"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1000"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1001"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1000"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1002"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1004"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1003"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1014"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1001"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1000"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1004"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1006"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1005"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1006"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1009"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1008"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1010"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1011"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1010"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1011"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1011"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1012"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1011"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1011"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1012"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1011"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1014"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1012"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1011"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1014"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1015"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1014"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1000,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:1001,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1014,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:1007,1"
      Dst: "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:1009,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1010,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1011,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 27
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.Kryo].copyShallow(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1022"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1023"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1022"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1026"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1027"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1026"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1028"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1030"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1029"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1041"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1027"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1026"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1030"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1032"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1031"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1032"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1035"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1034"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1036"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1037"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1036"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1037"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1037"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1038"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1037"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1037"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1038"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1037"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1041"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1038"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1037"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1041"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1042"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1041"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1026,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:1027,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1041,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:1033,1"
      Dst: "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:1035,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:1035,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:1035,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1036,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1037,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.Kryo].copyShallow(java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reset()"
    - "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    functionUses: 0
    ICount: 60
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1049"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1050"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1049"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1053"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1054"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1053"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1055"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1057"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1056"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1068"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1054"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1053"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1057"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1059"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1058"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1059"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1062"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1061"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1063"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1064"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1063"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1064"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1064"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1065"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1064"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1064"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1065"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1064"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1068"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1065"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1064"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1068"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1069"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1068"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1053,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].<init>()"
    - Src: "com.esotericsoftware.kryo.Kryo:1054,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1068,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reset()"
    - Src: "com.esotericsoftware.kryo.Kryo:1060,1"
      Dst: "[com.esotericsoftware.kryo.KryoCopyable].copy(com.esotericsoftware.kryo.Kryo)"
    - Src: "com.esotericsoftware.kryo.Kryo:1062,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1063,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.Kryo:1064,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].log(java.lang.String,java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.Kryo].getClassResolver()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.ClassResolver"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setClassLoader(java.lang.ClassLoader)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1097"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1098"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1097"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1097,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setRegistrationRequired(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1119"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1120"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1119"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1119,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:1119,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].setWarnUnregisteredClasses(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1129"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1130"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1129,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.Kryo:1129,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].getWarnUnregisteredClasses()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setCopyReferences(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setReferenceResolver(com.esotericsoftware.kryo.ReferenceResolver)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.ReferenceResolver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1164"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1165"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1164"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.Kryo:1167"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1168"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1167"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1164,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1167,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.Kryo:1167,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.Kryo:1167,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.Kryo:1167,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].setInstantiatorStrategy(org.objenesis.strategy.InstantiatorStrategy)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.objenesis.strategy.InstantiatorStrategy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].getInstantiatorStrategy()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.objenesis.strategy.InstantiatorStrategy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].newInstantiator(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1189
    functionLinenumberEnd: 1191
    functionDepth: 0
    returnType: "org.objenesis.instantiator.ObjectInstantiator"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.SingleInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.SerializingInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.StdInstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    - "[org.objenesis.strategy.InstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1190,1"
      Dst: "[org.objenesis.strategy.InstantiatorStrategy].newInstantiatorOf(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class<T>)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: 1195
    functionLinenumberEnd: 1203
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Class<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].getInstantiator()"
    - "[com.esotericsoftware.kryo.Kryo].newInstantiator(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Registration].setInstantiator(org.objenesis.instantiator.ObjectInstantiator)"
    - "[org.objenesis.instantiator.basic.FailingInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.ConstructorInstantiator].newInstance()"
    - "[org.objenesis.instantiator.sun.UnsafeFactoryInstantiator].newInstance()"
    - "[org.objenesis.instantiator.android.Android18Instantiator].newInstance()"
    - "[org.objenesis.instantiator.android.Android10Instantiator].newInstance()"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2].newInstance()"
    - "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1].newInstance()"
    - "[org.objenesis.instantiator.android.AndroidSerializationInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.DelegatingToExoticInstantiator].newInstance()"
    - "[org.objenesis.instantiator.perc.PercInstantiator].newInstance()"
    - "[org.objenesis.instantiator.gcj.GCJInstantiator].newInstance()"
    - "[org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator].newInstance()"
    - "[org.objenesis.instantiator.sun.SunReflectionFactorySerializationInstantiator].newInstance()"
    - "[org.objenesis.instantiator.gcj.GCJSerializationInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.ObjectStreamClassInstantiator].newInstance()"
    - "[org.objenesis.instantiator.android.Android17Instantiator].newInstance()"
    - "[org.objenesis.instantiator.perc.PercSerializationInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.NewInstanceInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.ObjectInputStreamInstantiator].newInstance()"
    - "[org.objenesis.instantiator.basic.NullInstantiator].newInstance()"
    - "[org.objenesis.instantiator.ObjectInstantiator].newInstance()"
    functionUses: 7
    ICount: 11
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1202"
        BranchSideFuncs:
        - "newInstantiator(java.lang.Class)"
        - "setInstantiator(org.objenesis.instantiator.ObjectInstantiator)"
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1201"
        BranchSideFuncs:
        - "newInstance()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1196,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getRegistration(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:1197,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getInstantiator()"
    - Src: "com.esotericsoftware.kryo.Kryo:1199,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstantiator(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.Kryo:1200,1"
      Dst: "[com.esotericsoftware.kryo.Registration].setInstantiator(org.objenesis.instantiator.ObjectInstantiator)"
    - Src: "com.esotericsoftware.kryo.Kryo:1202,1"
      Dst: "[org.objenesis.instantiator.ObjectInstantiator].newInstance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.Kryo].getOriginalToCopyMap()"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.IdentityMap"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setAutoReset(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setMaxDepth(int)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1240"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1241"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1240"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1240,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.Kryo].setOptimizedGenerics(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.Kryo"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].<init>(com.esotericsoftware.kryo.Kryo)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.Kryo:1304"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1304"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.Kryo:1303"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.Kryo:1304,1"
      Dst: "[com.esotericsoftware.kryo.util.DefaultGenerics].<init>(com.esotericsoftware.kryo.Kryo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:36,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:38,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:42"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:46"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:43,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:46,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:47,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBytes(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 5
    returnType: "byte[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBytes(int)"
    - "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:52"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:53"
        BranchSideFuncs:
        - "readBytes(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:52"
        BranchSideFuncs:
        - "readBytes(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:51,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].copy(com.esotericsoftware.kryo.Kryo,byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:58,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].copy(com.esotericsoftware.kryo.Kryo,byte[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:36,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].copy(com.esotericsoftware.kryo.Kryo,byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,byte[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer:36,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].<init>()"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].<init>(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].containsKey(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.util.ArrayList].get(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$Tag].value()"
    functionUses: 2
    ICount: 66
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:80"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:87"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:86"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:78"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:77"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:83"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:84"
        BranchSideFuncs:
        - "removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:83"
        BranchSideFuncs:
        - "removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:101"
        BranchSideFuncs:
        - "containsKey(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:100"
        BranchSideFuncs:
        - "toArray(java.lang.Object[])"
        - "size()"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:95"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:97"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "get(int)"
        - "valueOf(int)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:96"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "getAnnotation(java.lang.Class)"
        - "put(int,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:98"
      Branch Sides: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:82,1"
      Dst: "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:83,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:84,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:90,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$Tag].value()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:95,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].containsKey(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:96,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:96,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:96,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:96,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:97,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].put(int,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:98,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:101,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:101,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].removeField(java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:106,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:110,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].removeField(com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:111,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].initializeCachedFields()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:120"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:119"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:129"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:132"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:131"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:163"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:162"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:137"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:136"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:159"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:158"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:147"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:145"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:147"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:154"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:153"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:160"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:133"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:116,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:123,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:130,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:144,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:145,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:149,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:154,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:155,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:156,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:159,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:163,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 23
    CyclomaticComplexity: 10
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: 170
    functionLinenumberEnd: 240
    functionDepth: 6
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.io.InputChunked].nextChunk()"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionUses: 13
    ICount: 105
    EdgeCount: 65
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:172"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:null"
        BranchSideFuncs:
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:183"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:186"
        BranchSideFuncs:
        - "<init>(java.io.InputStream,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:185"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:188"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:238"
        BranchSideFuncs:
        - "get(int)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:237"
        BranchSideFuncs:
        - "popTypeVariables(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:189"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "get(int)"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(java.io.InputStream,int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:188"
        BranchSideFuncs:
        - "get(int)"
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:199"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:195"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:194"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:200"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:195"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:194"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:204"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:205"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:187"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "get(int)"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(java.io.InputStream,int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:186"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:223"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "get(int)"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(java.io.InputStream,int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:222"
        BranchSideFuncs:
        - "setCanBeNull(boolean)"
        - "setReuseSerializer(boolean)"
        - "setValueClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:211"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:213"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "get(int)"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(java.io.InputStream,int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:212"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:217"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:213"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:212"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:218"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:220"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:219"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:220"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:186"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:192"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:233"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "get(int)"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "<init>(java.io.InputStream,int)"
        - "className(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "reference(java.lang.Object)"
        - "pushTypeVariables()"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:232"
        BranchSideFuncs:
        - "log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
        - "position()"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:227"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:228"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:227"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:228"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:229"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:228"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:233"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:234"
        BranchSideFuncs:
        - "nextChunk()"
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:233"
        BranchSideFuncs:
        - "nextChunk()"
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:235"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:175,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:177,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:178,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:184,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:190,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap].get(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:195,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:197,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:197,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:197,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:200,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:201,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].nextChunk()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:208,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:211,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:211,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:211,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:213,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:216,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:223,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:224,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:225,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:227,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:228,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:233,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:233,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:234,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer:238,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 40
    CyclomaticComplexity: 15
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].nextChunk()"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.InputChunked].readChunkSize()"
    - "[com.esotericsoftware.kryo.io.Input].skip(int)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 11
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:103"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:104"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:103"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:104"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:null"
        BranchSideFuncs:
        - "skip(int)"
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:107"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:108"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:103,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].readChunkSize()"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:105,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].skip(int)"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:107,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].readChunkSize()"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInputStream:com.esotericsoftware.kryo.io.Input:java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessBuilder$NullInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:javax.crypto.CipherInputStream].getInputStream()"
    - "[com.esotericsoftware.kryo.io.Input].read()"
    - "[org.objenesis.instantiator.basic.ObjectInputStreamInstantiator$MockStream].read()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].read()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].read()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].read()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Input].getInputStream()"
    - "[java.io.InputStream].read()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 33
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:84"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:96"
        BranchSideFuncs:
        - "read()"
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:95"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:86"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:87"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:86"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:88"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:83"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:82"
        BranchSideFuncs:
        - "getInputStream()"
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:90"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:91"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:90"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:90"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:91"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:83,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].getInputStream()"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:85,1"
      Dst: "[java.io.InputStream].read()"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:90,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:95,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:97,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Input].getInputStream()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.io.InputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer].getTaggedFieldSerializerConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Integer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Integer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].intValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:126,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:126,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionDepth: 6
    returnType: "java.lang.Integer"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 13
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:130,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:130,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Integer)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer:124,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Integer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[com.esotericsoftware.minlog.Log].warn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getDeclaredField(java.lang.String)"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    functionUses: 0
    ICount: 26
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:56"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:65"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:76"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:55,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:58,1"
      Dst: "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:59,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:62,1"
      Dst: "[com.esotericsoftware.minlog.Log].warn(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:68,1"
      Dst: "[java.lang.Class].getDeclaredField(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:69,1"
      Dst: "[java.lang.reflect.Field].setAccessible(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].toSerializedLambda(java.lang.Object)"
    - "[java.lang.invoke.SerializedLambda].getCapturedArgCount()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.lang.invoke.SerializedLambda].getCapturedArg(int)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].getCapturingClass(java.lang.invoke.SerializedLambda)"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceClass()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceMethodName()"
    - "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceMethodSignature()"
    - "[java.lang.invoke.SerializedLambda].getImplMethodKind()"
    - "[java.lang.invoke.SerializedLambda].getImplClass()"
    - "[java.lang.invoke.SerializedLambda].getImplMethodName()"
    - "[java.lang.invoke.SerializedLambda].getImplMethodSignature()"
    - "[java.lang.invoke.SerializedLambda].getInstantiatedMethodType()"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:85"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:79,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].toSerializedLambda(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:80,1"
      Dst: "[java.lang.invoke.SerializedLambda].getCapturedArgCount()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:81,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:83,1"
      Dst: "[java.lang.invoke.SerializedLambda].getCapturedArg(int)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:85,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].getCapturingClass(java.lang.invoke.SerializedLambda)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:85,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:87,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:89,1"
      Dst: "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:89,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:90,1"
      Dst: "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceMethodName()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:91,1"
      Dst: "[java.lang.invoke.SerializedLambda].getFunctionalInterfaceMethodSignature()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:92,1"
      Dst: "[java.lang.invoke.SerializedLambda].getImplMethodKind()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:93,1"
      Dst: "[java.lang.invoke.SerializedLambda].getImplClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:94,1"
      Dst: "[java.lang.invoke.SerializedLambda].getImplMethodName()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:95,1"
      Dst: "[java.lang.invoke.SerializedLambda].getImplMethodSignature()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:96,1"
      Dst: "[java.lang.invoke.SerializedLambda].getInstantiatedMethodType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].toSerializedLambda(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.invoke.SerializedLambda"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:144"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:139,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:139,1"
      Dst: "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:140,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:141,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:143,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].getCapturingClass(java.lang.invoke.SerializedLambda)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class<?>"
    argCount: 1
    argTypes:
    - "java.lang.invoke.SerializedLambda"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    - "[java.lang.invoke.SerializedLambda].getCapturingClass()"
    - "[java.lang.String].replace(char,char)"
    - "[java.lang.Class].forName(java.lang.String)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:154"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:160"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:156,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:161,1"
      Dst: "[java.lang.invoke.SerializedLambda].getCapturingClass()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:161,1"
      Dst: "[java.lang.String].replace(char,char)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:161,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.ClassNotFoundException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.lang.invoke.SerializedLambda].<init>(java.lang.Class,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object[])"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 13
    ICount: 30
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:104"
        BranchSideFuncs:
        - "readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readString()"
        - "getType()"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.Class,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object[])"
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:103"
        BranchSideFuncs:
        - "readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readString()"
        - "getType()"
        - "readVarInt(boolean)"
        - "<init>(java.lang.Class,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:100,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:105,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:107,1"
      Dst: "[java.lang.invoke.SerializedLambda].<init>(java.lang.Class,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:109,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:111,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].toSerializedLambda(java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].getCapturingClass(java.lang.invoke.SerializedLambda)"
    - "[com.esotericsoftware.kryo.serializers.ClosureSerializer].readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].toSerializedLambda(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:118,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].getCapturingClass(java.lang.invoke.SerializedLambda)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:119,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].readResolve(java.lang.Class,java.lang.invoke.SerializedLambda)"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ClosureSerializer].readResolve(java.lang.Class<?>,java.lang.invoke.SerializedLambda)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ClosureSerializer"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.invoke.SerializedLambda"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ClosureSerializer:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:131"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ClosureSerializer:130"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "setAccessible(boolean)"
        - "getDeclaredMethod(java.lang.String,java.lang.Class[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:127,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:131,1"
      Dst: "[java.lang.Class].getDeclaredMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.ClosureSerializer:132,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readFully(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.KryoDataInput].readFully(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:43,1"
      Dst: "[com.esotericsoftware.kryo.io.KryoDataInput].readFully(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readFully(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    - "[com.esotericsoftware.kryo.KryoException].getMessage()"
    - "[java.io.EOFException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:48,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:50,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].getMessage()"
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:50,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].skipBytes(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].skip(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:55,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readBoolean()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:59,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readByte()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:63,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readUnsignedByte()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readByteUnsigned()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:67,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByteUnsigned()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readByteUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:345"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:346"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:345"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:345,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readShort()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readShort()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:71,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShort()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readUnsignedShort()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readShortUnsigned()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:75,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readShortUnsigned()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readShortUnsigned()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].require(int)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:785,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readChar()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "char"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:79,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:83,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:87,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readFloat()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readFloat()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:91,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readFloat()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readDouble()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:95,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readLine()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:102,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.UnsupportedOperationException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].readUTF()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:110,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.KryoDataInput].close()"
    functionSourceFile: "com.esotericsoftware.kryo.io.KryoDataInput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].close()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.KryoDataInput:114,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].close()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:44,1"
      Dst: "[java.io.InputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].<init>()"
    - "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:65,1"
      Dst: "[java.io.InputStream].<init>()"
    - Src: "com.esotericsoftware.kryo.io.Input:66,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:73"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:71,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:72,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:86,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].getBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setInputStream(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].reset()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:116,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].getVariableLengthEncoding()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setVariableLengthEncoding(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].total()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setTotal(long)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setPosition(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].limit()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].setLimit(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].end()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:270"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:269"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:270,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].available()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].available()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:276"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:275"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:276,1"
      Dst: "[java.io.InputStream].available()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].readBytes(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:358,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBytes(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].canReadInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].canReadVarInt()"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:439"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:440"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:439"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:440"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:441"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:440"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:441"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:440"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:439,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].canReadVarInt()"
    - Src: "com.esotericsoftware.kryo.io.Input:441,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].canReadVarInt()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:502"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:503"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:502"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:503"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:504"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:503"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:506"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:507"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:506"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:507"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:508"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:507"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:508"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:509"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:508"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:509"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:510"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:509"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:510"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:511"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:510"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:511"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:512"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:511"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:512"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:513"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:512"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:513"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:514"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:513"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:503,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readLong(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "long"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:603"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:604"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:603"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:603,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.io.Input:604,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].canReadLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].canReadVarLong()"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:701"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:702"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:701"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:702"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:703"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:702"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:703"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:702"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:701,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].canReadVarLong()"
    - Src: "com.esotericsoftware.kryo.io.Input:703,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Input].canReadVarLong()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    functionUses: 0
    ICount: 77
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:708"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:709"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:708"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:709"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:710"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:709"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:712"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:713"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:712"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:713"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:714"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:713"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:714"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:715"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:714"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:715"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:716"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:715"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:716"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:717"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:716"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:717"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:718"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:717"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:718"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:719"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:718"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:719"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:720"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:719"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:720"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:721"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:720"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:721"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:722"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:721"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:722"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:723"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:722"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:723"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:724"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:723"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:724"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:725"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:724"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:725"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:726"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:725"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:726"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:727"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:726"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:727"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:728"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:727"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:709,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 37
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarFloat(float,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "float"
    argCount: 2
    argTypes:
    - "float"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:747,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readVarDouble(double,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "double"
    argCount: 2
    argTypes:
    - "double"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:770,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Input].readChars(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: 1073
    functionLinenumberEnd: 1086
    functionDepth: 4
    returnType: "char[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    functionUses: 1
    ICount: 36
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1075"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1082"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1081"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1078"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1079"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1082"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1084"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1075,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1083,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.io.Input].readBooleans(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Input"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Input:1091"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1098"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1097"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1094"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1096"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1095"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1095"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1095"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1094"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Input:1098"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Input:1100"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Input:1091,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].optional(int)"
    - Src: "com.esotericsoftware.kryo.io.Input:1099,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:486"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:487"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:486"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:486,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:491"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:492"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:491"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:492"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:493"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:492"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:491,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:492,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:495,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.IntArray"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].next()"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:506"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:508"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:507"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:505,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:507,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:507,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].toArray(com.esotericsoftware.kryo.util.IntArray)"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.IntArray"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].next()"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:513"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:515"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:514"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:514,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].next()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:514,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:480,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Values].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Values"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Values:480,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.CuckooObjectMap$Entry].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entry"
    linkageType: ""
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.CuckooObjectMap$Entry:671,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getByte(java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:298,1"
      Dst: "[java.lang.reflect.Field].getByte(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:298,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:300,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:301,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:301,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField"
    linkageType: ""
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.lang.reflect.Field].setByte(java.lang.Object,byte)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:308,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:308,1"
      Dst: "[java.lang.reflect.Field].setByte(java.lang.Object,byte)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:310,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:311,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:311,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Field].getByte(java.lang.Object)"
    - "[java.lang.reflect.Field].setByte(java.lang.Object,byte)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:318,1"
      Dst: "[java.lang.reflect.Field].getByte(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:318,1"
      Dst: "[java.lang.reflect.Field].setByte(java.lang.Object,byte)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:320,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:321,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField:321,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Instant)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].getEpochSecond()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[java.time.Instant].getNano()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:85,1"
      Dst: "[java.time.Instant].getEpochSecond()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:85,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:86,1"
      Dst: "[java.time.Instant].getNano()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:86,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionDepth: 6
    returnType: "java.time.Instant"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.time.Instant].ofEpochSecond(long,long)"
    functionUses: 13
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:90,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:91,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:92,1"
      Dst: "[java.time.Instant].ofEpochSecond(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Instant)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer:83,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$InstantSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].<init>(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - "[java.lang.Class].getEnumConstants()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:454"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:456"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:455"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:454"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:456"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:455"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:447,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:442,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:448,1"
      Dst: "[java.lang.Class].getEnumConstants()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:454,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:455,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:455,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Enum"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:459"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:463"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:462"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:460,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:463,1"
      Dst: "[java.lang.Enum].ordinal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer"
    linkageType: ""
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionDepth: 5
    returnType: "java.lang.Enum"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 13
    ICount: 23
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:468"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:null"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:470"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:471"
        BranchSideFuncs:
        - "getName()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:470"
        BranchSideFuncs:
        - "getName()"
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:470"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:472"
        BranchSideFuncs:
        - "getName()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:471"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:467,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:471,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:471,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:471,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer:440,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$EnumSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Enum)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:508,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:510,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Currency)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Currency"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Currency].getCurrencyCode()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:514"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:514"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:513"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:514,1"
      Dst: "[java.util.Currency].getCurrencyCode()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:514,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer"
    linkageType: ""
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionDepth: 6
    returnType: "java.util.Currency"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.util.Currency].getInstance(java.lang.String)"
    functionUses: 13
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:519"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:520"
        BranchSideFuncs:
        - "getInstance(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:519"
        BranchSideFuncs:
        - "getInstance(java.lang.String)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:518,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:520,1"
      Dst: "[java.util.Currency].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Currency)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer:508,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CurrencySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Currency)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionDepth: 1
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Entry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    functionUses: 5
    ICount: 28
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:460"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:461"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:460"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:461"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:462"
        BranchSideFuncs:
        - "findNextIndex()"
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:461"
        BranchSideFuncs:
        - "findNextIndex()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:460,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:461,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:466,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].hasNext()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:471"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:472"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:471"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:471,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].iterator()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:451,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entries].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entries:451,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:346,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:348,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:354"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:352"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:351"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:354"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:352,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:353,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionDepth: 6
    returnType: "java.lang.Class"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[java.lang.Class].isPrimitive()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    functionUses: 13
    ICount: 15
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:358"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:359"
        BranchSideFuncs:
        - "isPrimitive()"
        - "getType()"
        - "readBoolean()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:358"
        BranchSideFuncs:
        - "isPrimitive()"
        - "getType()"
        - "readBoolean()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:360"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:359"
        BranchSideFuncs:
        - "getWrapperClass(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:358"
        BranchSideFuncs:
        - "isPrimitive()"
        - "getType()"
        - "readBoolean()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:360"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:361"
        BranchSideFuncs:
        - "getWrapperClass(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:360"
        BranchSideFuncs:
        - "getWrapperClass(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:357,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:359,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:360,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:360,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:361,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].getWrapperClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer:346,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ClassSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].next()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Keys:616"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:617"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:616"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Keys:617"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:617"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:616"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:616,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:619,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].findNextIndex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].toArray()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.IntArray"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - "[com.esotericsoftware.kryo.util.IntMap$Keys].next()"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Keys:626"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:628"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:627"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:625,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].<init>(boolean,int)"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:627,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Keys].next()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:627,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].toArray(com.esotericsoftware.kryo.util.IntArray)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.esotericsoftware.kryo.util.IntArray"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IntArray"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$Keys].next()"
    - "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IntMap$Keys:633"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:635"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IntMap$Keys:634"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:634,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$Keys].next()"
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:634,1"
      Dst: "[com.esotericsoftware.kryo.util.IntArray].add(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].remove()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:610,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IntMap$Keys].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IntMap$Keys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IntMap$Keys:610,1"
      Dst: "[com.esotericsoftware.kryo.util.IntMap$MapIterator].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].<init>()"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].<init>(com.esotericsoftware.kryo.Kryo,java.lang.Class,com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].containsKey(java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].position()"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    functionUses: 0
    ICount: 81
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:66"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:76"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:75"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:67"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:68"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:67"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:76"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:75"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:71"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:79"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:82"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:81"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:83"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:111"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:110"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:85"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:87"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:88"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:107"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:106"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:91"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:96"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:95"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:93"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:95"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:98"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:102"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:101"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:99"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:82"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:62,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:65,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:66,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].containsKey(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:67,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:67,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:68,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:69,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:71,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].position()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:71,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:80,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].<init>(java.io.OutputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:85,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:92,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:93,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:97,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:99,1"
      Dst: "[com.esotericsoftware.kryo.io.OutputChunked].endChunk()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:103,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:107,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:111,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 14
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 191
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.IdentityMap].get(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].readFields(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.io.InputChunked].nextChunk()"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - "[com.esotericsoftware.kryo.io.Input].position()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.lang.reflect.Field].getType()"
    - "[com.esotericsoftware.kryo.util.Util].isAssignableTo(java.lang.Class,java.lang.Class)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$StringAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ByteReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$CharReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$DoubleAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ShortAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$FloatReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$BooleanAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$CharUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$IntAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$BooleanUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$FloatAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$ShortReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$DoubleReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$IntReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$BooleanReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.ReflectField$LongReflectField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$LongAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.AsmField$CharAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$LongUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$FloatUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$ShortUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.UnsafeField$StringUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionUses: 13
    ICount: 125
    EdgeCount: 75
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:121"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:122"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:129"
        BranchSideFuncs:
        - "<init>(java.io.InputStream,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:128"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:130"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:189"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:188"
        BranchSideFuncs:
        - "popTypeVariables(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:131"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "pos(int)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "<init>(java.io.InputStream,int)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:130"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:139"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:136"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:135"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:140"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:136"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:135"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:144"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:148"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:147"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:145"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:130"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "pos(int)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "<init>(java.io.InputStream,int)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:165"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "pos(int)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "<init>(java.io.InputStream,int)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:164"
        BranchSideFuncs:
        - "isAssignableTo(java.lang.Class,java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:153"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "pos(int)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "<init>(java.io.InputStream,int)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:152"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String,java.lang.Throwable)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:157"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:153"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:152"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String,java.lang.Throwable)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:158"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:160"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "debug(java.lang.String,java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:159"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:160"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:129"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:165"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:174"
        BranchSideFuncs:
        - "className(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:173"
        BranchSideFuncs:
        - "setReuseSerializer(boolean)"
        - "setCanBeNull(boolean)"
        - "setValueClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:165"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:174"
        BranchSideFuncs:
        - "className(java.lang.Class)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:173"
        BranchSideFuncs:
        - "setReuseSerializer(boolean)"
        - "setCanBeNull(boolean)"
        - "setValueClass(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:168"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:169"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:168"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:169"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:170"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:169"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:184"
        BranchSideFuncs:
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
        - "pos(int)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "<init>(java.io.InputStream,int)"
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:183"
        BranchSideFuncs:
        - "log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
        - "position()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:178"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:179"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:178"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:179"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:180"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:179"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:184"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:185"
        BranchSideFuncs:
        - "nextChunk()"
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:184"
        BranchSideFuncs:
        - "nextChunk()"
        - "read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:186"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:115,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].pushTypeVariables()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:117,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:118,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:120,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].get(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:121,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].readFields(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:127,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:136,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:138,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:138,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:139,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:140,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String,java.lang.Throwable)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:141,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].nextChunk()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:148,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].position()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].pos(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:151,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:153,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:155,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:165,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:165,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isAssignableTo(java.lang.Class,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:167,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:168,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:169,1"
      Dst: "[com.esotericsoftware.minlog.Log].debug(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:174,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setCanBeNull(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:175,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setValueClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:176,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].setReuseSerializer(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:178,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:184,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].log(java.lang.String,com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:185,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:189,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer].popTypeVariables(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 47
    CyclomaticComplexity: 19
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].readFields(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 243
    functionDepth: 6
    returnType: "com.esotericsoftware.kryo.serializers.FieldSerializer$CachedField[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].compareTo(java.lang.String)"
    - "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 79
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:194"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:195"
        BranchSideFuncs:
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:203"
        BranchSideFuncs:
        - "readString()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:202"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:200"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:195"
        BranchSideFuncs:
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:205"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:218"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:207"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:207"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:206"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:215"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:214"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:210"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:208"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:207"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:215"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:206"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:241"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:240"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "getGraphContext()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:225"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:237"
        BranchSideFuncs:
        - "compareTo(java.lang.String)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:236"
        BranchSideFuncs:
        - "trace(java.lang.String,java.lang.String)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:228"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:230"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:229"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:230"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:233"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:232"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:237"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:218"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:194,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:194,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:194,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:196,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:210,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:227,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:241,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGraphContext()"
    - Src: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer:241,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 32
    CyclomaticComplexity: 14
  - functionName: "[com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer].getCompatibleFieldSerializerConfig()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer$CompatibleFieldSerializerConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:96,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.LocalDate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:98,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 7
    returnType: "java.time.LocalDate"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:108,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].read(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer:96,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalDateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalDate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:680,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:684,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Calendar)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Calendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getTimeZone()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TimeZone)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[java.util.Calendar].isLenient()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[java.util.Calendar].getFirstDayOfWeek()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - "[java.util.Calendar].getMinimalDaysInFirstWeek()"
    - "[java.util.GregorianCalendar].getGregorianChange()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:692"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:695"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:694"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:687,1"
      Dst: "[java.util.Calendar].getTimeZone()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:687,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TimeZone)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:688,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:688,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:689,1"
      Dst: "[java.util.Calendar].isLenient()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:689,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:690,1"
      Dst: "[java.util.Calendar].getFirstDayOfWeek()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:690,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:691,1"
      Dst: "[java.util.Calendar].getMinimalDaysInFirstWeek()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:693,1"
      Dst: "[java.util.GregorianCalendar].getGregorianChange()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:693,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionDepth: 7
    returnType: "java.util.Calendar"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.util.Calendar].setLenient(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.util.Calendar].setFirstDayOfWeek(int)"
    - "[java.util.Calendar].setMinimalDaysInFirstWeek(int)"
    - "[java.util.Date].<init>(long)"
    - "[java.util.GregorianCalendar].setGregorianChange(java.util.Date)"
    functionUses: 13
    ICount: 25
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:705"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:707"
        BranchSideFuncs:
        - "<init>(long)"
        - "setGregorianChange(java.util.Date)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:706"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:706"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:707"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:706"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:699,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TimeZoneSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:699,1"
      Dst: "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:700,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:700,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:701,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:701,1"
      Dst: "[java.util.Calendar].setLenient(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:702,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:702,1"
      Dst: "[java.util.Calendar].setFirstDayOfWeek(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:703,1"
      Dst: "[java.util.Calendar].setMinimalDaysInFirstWeek(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:706,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:706,1"
      Dst: "[java.util.GregorianCalendar].setGregorianChange(java.util.Date)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Calendar)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Calendar"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Calendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].clone()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:711,1"
      Dst: "[java.util.Calendar].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Calendar)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:680,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Calendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Calendar)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer:680,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CalendarSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Calendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:69"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:72"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:70,1"
      Dst: "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:70,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 4
    ICount: 15
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:79"
        BranchSideFuncs:
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:78"
        BranchSideFuncs:
        - "readInt()"
        - "putInt(java.lang.Object,long,int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:77,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:77,1"
      Dst: "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:79,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:83,1"
      Dst: "[sun.misc.Unsafe].getInt(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$IntUnsafeField:83,1"
      Dst: "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:988,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.regex.Pattern)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].pattern()"
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - "[java.util.regex.Pattern].flags()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:990,1"
      Dst: "[java.util.regex.Pattern].pattern()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:990,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:991,1"
      Dst: "[java.util.regex.Pattern].flags()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:991,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer"
    linkageType: ""
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionDepth: 6
    returnType: "java.util.regex.Pattern"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.util.regex.Pattern].compile(java.lang.String,int)"
    functionUses: 13
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:995,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:996,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:997,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.regex.Pattern)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer:988,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PatternSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.regex.Pattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:132,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.LocalTime"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:134,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionDepth: 7
    returnType: "java.time.LocalTime"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:160,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].read(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer:132,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$LocalTimeSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.LocalTime)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:41,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(int,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:48,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:56,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(byte[],int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:62,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(byte[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(byte[],int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(byte[],int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:68,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(byte[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:73,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].<init>(java.io.OutputStream,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:78,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].write(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:82"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:83"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:82,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:83,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeByte(byte)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:88"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:87,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:88,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeByte(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:93"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:92,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:93,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeInt(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:97,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:98,1"
      Dst: "[sun.misc.Unsafe].putInt(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeLong(long)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:103,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:104,1"
      Dst: "[sun.misc.Unsafe].putLong(java.lang.Object,long,long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeFloat(float)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:109,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:110,1"
      Dst: "[sun.misc.Unsafe].putFloat(java.lang.Object,long,float)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeDouble(double)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:115,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:116,1"
      Dst: "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeShort(int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:121,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:122,1"
      Dst: "[sun.misc.Unsafe].putShort(java.lang.Object,long,short)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeChar(char)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:127,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:128,1"
      Dst: "[sun.misc.Unsafe].putChar(java.lang.Object,long,char)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBoolean(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:133"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:134"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:133"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:133,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:134,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeInts(int[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "int[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:138,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:177"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:176"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:171,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:173,1"
      Dst: "[sun.misc.Unsafe].copyMemory(java.lang.Object,long,java.lang.Object,long,long)"
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:179,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeLongs(long[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "long[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:142,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeFloats(float[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "float[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:146,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeDoubles(double[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "double[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:150,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeShorts(short[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "short[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:154,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeChars(char[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:158,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBooleans(boolean[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:162,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.unsafe.UnsafeOutput"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.unsafe.UnsafeOutput:166,1"
      Dst: "[com.esotericsoftware.kryo.unsafe.UnsafeOutput].writeBytes(java.lang.Object,long,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:36,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:41,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].<init>(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:46,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].<init>(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].setInputStream(java.io.InputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].setInputStream(java.io.InputStream)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:55,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].setInputStream(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].setBuffer(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:60,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].setBuffer(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].reset()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:65,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.InputChunked].fill(byte[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.InputChunked"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.InputChunked].readChunkSize()"
    - "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    - "[java.lang.Math].min(int,int)"
    functionUses: 4
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:72"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:71"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:71"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:74"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:73"
        BranchSideFuncs:
        - "min(int,int)"
        - "fill(byte[],int,int)"
        - "readChunkSize()"
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:74"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:73"
        BranchSideFuncs:
        - "min(int,int)"
        - "fill(byte[],int,int)"
        - "readChunkSize()"
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:77"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:76"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.InputChunked:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:77"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.InputChunked:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.InputChunked:71,1"
      Dst: "[com.esotericsoftware.kryo.io.InputChunked].readChunkSize()"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:74,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.esotericsoftware.kryo.io.InputChunked:74,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].fill(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:132,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:132,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:136,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:136,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:140,1"
      Dst: "[sun.misc.Unsafe].getByte(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$ByteUnsafeField:140,1"
      Dst: "[sun.misc.Unsafe].putByte(java.lang.Object,long,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1].newInstance()"
    functionSourceFile: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    - "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - "[com.esotericsoftware.reflectasm.ConstructorAccess].newInstance()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1:63,1"
      Dst: "[com.esotericsoftware.reflectasm.ConstructorAccess].newInstance()"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1:65,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].className(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$1:65,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:173,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,char[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeChars(char[],int,int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:177"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:181"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:180"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:178,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:181,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:182,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChars(char[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeChars(char[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionUses: 0
    ICount: 33
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:927"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:938"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:937"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:931"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:935"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:938"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:940"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:928,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:939,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionDepth: 5
    returnType: "char[]"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChars(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChars(int)"
    - "[com.esotericsoftware.kryo.io.Input].readChars(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChars(int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:187"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:188"
        BranchSideFuncs:
        - "readChars(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:187"
        BranchSideFuncs:
        - "readChars(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:186,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:188,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChars(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].copy(com.esotericsoftware.kryo.Kryo,char[])"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "char[]"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:193,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].copy(com.esotericsoftware.kryo.Kryo,char[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].copy(com.esotericsoftware.kryo.Kryo,char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,char[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultArraySerializers$CharArraySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectMap$Entry].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectMap$Entry"
    linkageType: ""
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectMap$Entry:455,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].setKryo(com.esotericsoftware.kryo.Kryo)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].addWrittenObject(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:58,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].put(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].getWrittenId(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:63,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].get(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].nextReadId(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:67,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:68,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].setReadObject(int,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].set(int,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:73,1"
      Dst: "[java.util.ArrayList].set(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].getReadObject(java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:77,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].reset()"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].clear()"
    - "[java.util.ArrayList].trimToSize()"
    - "[java.util.ArrayList].ensureCapacity(int)"
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].clear(int)"
    functionUses: 2
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.MapReferenceResolver:83"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.MapReferenceResolver:87"
        BranchSideFuncs:
        - "trimToSize()"
        - "ensureCapacity(int)"
      - BranchSide: "com.esotericsoftware.kryo.util.MapReferenceResolver:86"
        BranchSideFuncs:
        - "clear(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:81,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:82,1"
      Dst: "[java.util.ArrayList].clear()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:84,1"
      Dst: "[java.util.ArrayList].trimToSize()"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:85,1"
      Dst: "[java.util.ArrayList].ensureCapacity(int)"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:87,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].clear(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.MapReferenceResolver].useReferences(java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.util.MapReferenceResolver"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    - "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    functionUses: 4
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.MapReferenceResolver:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.MapReferenceResolver:91"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    - Branch String: "com.esotericsoftware.kryo.util.MapReferenceResolver:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.MapReferenceResolver:91"
        BranchSideFuncs:
        - "isWrapperClass(java.lang.Class)"
        - "isEnum(java.lang.Class)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:92,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isWrapperClass(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.util.MapReferenceResolver:92,1"
      Dst: "[com.esotericsoftware.kryo.util.Util].isEnum(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:151,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].setCompatible(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:162"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:163"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:162,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig:162,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig].getCompatible()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.VersionFieldSerializer$VersionFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.PriorityQueue)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.PriorityQueue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.PriorityQueue].comparator()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:825,1"
      Dst: "[java.util.PriorityQueue].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:825,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionDepth: 7
    returnType: "java.util.PriorityQueue"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createPriorityQueue(java.lang.Class,int,java.util.Comparator)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 2
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:829,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:829,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createPriorityQueue(java.lang.Class,int,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createPriorityQueue(java.lang.Class,int,java.util.Comparator)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: 836
    functionLinenumberEnd: 851
    functionDepth: 1
    returnType: "java.util.PriorityQueue"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "int"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].max(int,int)"
    - "[java.util.PriorityQueue].<init>(int,java.util.Comparator)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 31
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:838"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:837"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "<init>(int,java.util.Comparator)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "valueOf(int)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:836"
        BranchSideFuncs:
        - "<init>(int,java.util.Comparator)"
        - "max(int,int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:838"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:841"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "<init>(int,java.util.Comparator)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "valueOf(int)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:840"
        BranchSideFuncs:
        - "getConstructor(java.lang.Class[])"
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:842"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:848"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "<init>(int,java.util.Comparator)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "valueOf(int)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:847"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:837,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:838,1"
      Dst: "[java.util.PriorityQueue].<init>(int,java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:841,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:842,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:844,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:848,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:848,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:850,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.PriorityQueue)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.PriorityQueue"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.PriorityQueue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.PriorityQueue].size()"
    - "[java.util.PriorityQueue].comparator()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createPriorityQueue(java.lang.Class,int,java.util.Comparator)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:833,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:833,1"
      Dst: "[java.util.PriorityQueue].size()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:833,1"
      Dst: "[java.util.PriorityQueue].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:833,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createPriorityQueue(java.lang.Class,int,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.PriorityQueue)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:823,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.PriorityQueue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.PriorityQueue)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer:823,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.PriorityQueue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField].get(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:42,1"
      Dst: "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField].set(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:46,1"
      Dst: "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.UnsafeField,java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:51,1"
      Dst: "[sun.misc.Unsafe].getObject(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:51,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:51,1"
      Dst: "[sun.misc.Unsafe].putObject(java.lang.Object,long,java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:53,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(com.esotericsoftware.kryo.serializers.UnsafeField,java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:53,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].addTrace(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField:56,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:296,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.MonthDay)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.MonthDay"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.MonthDay].getMonthValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[java.time.MonthDay].getDayOfMonth()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:298,1"
      Dst: "[java.time.MonthDay].getMonthValue()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:298,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:299,1"
      Dst: "[java.time.MonthDay].getDayOfMonth()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer"
    linkageType: ""
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionDepth: 4
    returnType: "java.time.MonthDay"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[java.time.MonthDay].of(int,int)"
    functionUses: 13
    ICount: 10
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:303,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:305,1"
      Dst: "[java.time.MonthDay].of(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.MonthDay)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer:296,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$MonthDaySerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.MonthDay)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    - "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:214,1"
      Dst: "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:214,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeDouble(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    - "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readDouble()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readDouble()"
    functionUses: 4
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:218,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readDouble()"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:218,1"
      Dst: "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    - "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:222,1"
      Dst: "[sun.misc.Unsafe].getDouble(java.lang.Object,long)"
    - Src: "com.esotericsoftware.kryo.serializers.UnsafeField$DoubleUnsafeField:222,1"
      Dst: "[sun.misc.Unsafe].putDouble(java.lang.Object,long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:42,1"
      Dst: "[java.io.OutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:49,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(byte[],int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:68,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(byte[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(byte[],int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[],int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:74"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:75"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:73,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "com.esotericsoftware.kryo.io.Output:74,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:75,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].<init>(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:81"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:82"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:80,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].<init>(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:81,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].setOutputStream(java.io.OutputStream)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].reset()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:101,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[])"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[],int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:107,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].setBuffer(byte[],int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:115"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:116"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:115"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:116"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:116"
      Branch Sides: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:118"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:119"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:118"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:120"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:119"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:115,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.io.Output:116,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "com.esotericsoftware.kryo.io.Output:118,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.io.Output].getBuffer()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].toBytes()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:135,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].getVariableLengthEncoding()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].setVariableLengthEncoding(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].setPosition(int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].total()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].getMaxCapacity()"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].intLength(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].varIntLength(int,boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:451"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:452"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:451"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:451,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].varIntLength(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].varIntLength(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:962"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:963"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:962"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:963"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:964"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:963"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:964"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:965"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:964"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:965"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:966"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:965"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:966"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:967"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:966"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeLong(long,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:479"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:480"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:479"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:479,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    - Src: "com.esotericsoftware.kryo.io.Output:480,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].longLength(int,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].varLongLength(long,boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:598"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:599"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:598"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:598,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].varLongLength(long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].varLongLength(long,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:972"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:973"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:972"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:973"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:974"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:973"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:974"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:975"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:974"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:975"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:976"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:975"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:976"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:977"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:976"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:977"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:978"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:977"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:978"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:979"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:978"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:979"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:980"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:979"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:980"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:981"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:980"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeVarFloat(float,float,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 3
    argTypes:
    - "float"
    - "float"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:622,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeVarDouble(double,double,boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "int"
    argCount: 3
    argTypes:
    - "double"
    - "double"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:649,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.io.Output].writeBooleans(boolean[],int,int)"
    functionSourceFile: "com.esotericsoftware.kryo.io.Output"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].require(int)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.io.Output:945"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:953"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:952"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:949"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:951"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:950"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:950"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:950"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.io.Output:949"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.io.Output:953"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.io.Output:955"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.io.Output:946,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].require(int)"
    - Src: "com.esotericsoftware.kryo.io.Output:954,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer:171,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readString()"
    - "[com.esotericsoftware.kryo.io.Input].readString()"
    functionUses: 13
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer:175,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer:165,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.BlowfishSerializer$1].close()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.BlowfishSerializer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:70,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Duration)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.time.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Duration].getSeconds()"
    - "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - "[java.time.Duration].getNano()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:72,1"
      Dst: "[java.time.Duration].getSeconds()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:72,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeLong(long)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:73,1"
      Dst: "[java.time.Duration].getNano()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:73,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionDepth: 6
    returnType: "java.time.Duration"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readLong()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readLong()"
    - "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - "[java.time.Duration].ofSeconds(long,long)"
    functionUses: 13
    ICount: 9
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:77,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readLong()"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:78,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:79,1"
      Dst: "[java.time.Duration].ofSeconds(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Duration)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer:70,1"
      Dst: "[com.esotericsoftware.kryo.serializers.TimeSerializers$DurationSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.time.Duration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory].newSerializer(com.esotericsoftware.kryo.Kryo,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.SerializerFactory$SingletonSerializerFactory"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].getElementClass()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].setElementClass(java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "com.esotericsoftware.kryo.Serializer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].getElementSerializer()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.esotericsoftware.kryo.Serializer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - "[java.util.Collection].size()"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.Generics].nextGenericClass()"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarIntFlag(boolean,int,boolean)"
    - "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - "[java.lang.Object].getClass()"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 106
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:86"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:91"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:90"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:92"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:98"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:97"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:100"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:106"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:105"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:106"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:105"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:102"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:106"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:105"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:106"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:121"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:120"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:108"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:118"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:117"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:109"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:115"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:114"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:110"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:114"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:113"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:123"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:134"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:133"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:124"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:126"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:125"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:126"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:128"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:127"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:128"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:133"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:132"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:136"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:141"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:140"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:143"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:149"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:148"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:149"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:158"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:157"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:150"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:154"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:153"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:151"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:151"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:150"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:154"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:154"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:153"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:158"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:162"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:87,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:91,1"
      Dst: "[java.util.Collection].size()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:93,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:94,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:101,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:101,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].nextGenericClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:102,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:109,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:109,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:109,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:111,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarIntFlag(boolean,int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:118,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarInt(int,boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:127,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:162,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:141,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClass(com.esotericsoftware.kryo.io.Output,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:144,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:152,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObjectOrNull(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:155,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeObject(com.esotericsoftware.kryo.io.Output,java.lang.Object,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:159,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 47
    CyclomaticComplexity: 17
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.HashSet].<init>(int)"
    - "[java.lang.Math].max(int,int)"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[java.util.ArrayList].ensureCapacity(int)"
    functionUses: 2
    ICount: 25
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:175"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:176"
        BranchSideFuncs:
        - "<init>(int)"
        - "max(int,int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:175"
        BranchSideFuncs:
        - "<init>(int)"
        - "max(int,int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:176"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:177"
        BranchSideFuncs:
        - "newInstance(java.lang.Class)"
        - "ensureCapacity(int)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:176"
        BranchSideFuncs:
        - "newInstance(java.lang.Class)"
        - "ensureCapacity(int)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:178"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:179"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:178"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:175,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:176,1"
      Dst: "[java.lang.Math].max(int,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:176,1"
      Dst: "[java.util.HashSet].<init>(int)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:177,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:178,1"
      Dst: "[java.util.ArrayList].ensureCapacity(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: 182
    functionLinenumberEnd: 251
    functionDepth: 7
    returnType: "java.util.Collection"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].nextGenericClass()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].nextGenericClass()"
    - "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$PriorityQueueSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableSetSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeSetSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$ArraysAsListSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - "[java.util.concurrent.DelayQueue].add(java.lang.Object)"
    - "[java.util.AbstractCollection].add(java.lang.Object)"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].add(java.lang.Object)"
    - "[java.util.TreeSet].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Pool$2].add(java.lang.Object)"
    - "[java.util.ArrayDeque].add(java.lang.Object)"
    - "[java.util.PriorityQueue].add(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Pool$1].add(java.lang.Object)"
    - "[java.util.AbstractQueue].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.Pool$SoftReferenceQueue].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[com.esotericsoftware.kryo.util.DefaultGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.util.NoGenerics].popGenericType()"
    - "[com.esotericsoftware.kryo.Registration].getType()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[com.esotericsoftware.kryo.util.Generics].nextGenericClass()"
    - "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - "[java.util.Collection].add(java.lang.Object)"
    functionUses: 16
    ICount: 97
    EdgeCount: 139
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:185"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:196"
        BranchSideFuncs:
        - "isFinal(java.lang.Class)"
        - "nextGenericClass()"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:195"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:187"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:196"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:195"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:187"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:196"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:195"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:197"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:211"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:210"
        BranchSideFuncs:
        - "readVarIntFlag(boolean)"
        - "readVarIntFlag()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:198"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:202"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:201"
        BranchSideFuncs:
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:203"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:null"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:209"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:235"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:234"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:213"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:null"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:219"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:221"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:220"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:221"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:235"
        BranchSideFuncs:
        - "readClass(com.esotericsoftware.kryo.io.Input)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:234"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:223"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:229"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:228"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "getType()"
        - "readBoolean()"
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:224"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:226"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:225"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:231"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:235"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:234"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:235"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:244"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:243"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:236"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:240"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:239"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:237"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:237"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:236"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:240"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:240"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:239"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.CollectionSerializer:244"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:197"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.CollectionSerializer:196"
        BranchSideFuncs:
        - "getSerializer(java.lang.Class)"
        - "add(java.lang.Object)"
        - "readClass(com.esotericsoftware.kryo.io.Input)"
        - "readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
        - "getGenerics()"
        - "readVarIntFlag(boolean)"
        - "getType()"
        - "readBoolean()"
        - "readVarIntFlag()"
        - "popGenericType()"
        - "create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
        - "reference(java.lang.Object)"
        - "readClassAndObject(com.esotericsoftware.kryo.io.Input)"
        - "readVarInt(boolean)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:186,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getGenerics()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:186,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].nextGenericClass()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:187,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].isFinal(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:188,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].getSerializer(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:199,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:200,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarIntFlag(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:202,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarInt(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:249,1"
      Dst: "[com.esotericsoftware.kryo.util.Generics].popGenericType()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:206,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:207,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].reference(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:222,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClass(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:225,1"
      Dst: "[java.util.Collection].add(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:229,1"
      Dst: "[com.esotericsoftware.kryo.Registration].getType()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:231,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:238,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObjectOrNull(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:241,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readObject(com.esotericsoftware.kryo.io.Input,java.lang.Class,com.esotericsoftware.kryo.Serializer)"
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:245,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 39
    CyclomaticComplexity: 13
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:44,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.CollectionSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.CollectionSerializer:44,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:717,1"
      Dst: "[com.esotericsoftware.kryo.serializers.MapSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeMap)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.TreeMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeMap].comparator()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:719,1"
      Dst: "[java.util.TreeMap].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:719,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: 722
    functionLinenumberEnd: 724
    functionDepth: 7
    returnType: "java.util.TreeMap"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createTreeMap(java.lang.Class,java.util.Comparator)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:723,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:723,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createTreeMap(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createTreeMap(java.lang.Class,java.util.Comparator)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: 730
    functionLinenumberEnd: 744
    functionDepth: 1
    returnType: "java.util.TreeMap"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeMap].<init>(java.util.Comparator)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:731"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:731"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:730"
        BranchSideFuncs:
        - "<init>(java.util.Comparator)"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:731"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:734"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:733"
        BranchSideFuncs:
        - "getConstructor(java.lang.Class[])"
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:735"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:741"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "<init>(java.util.Comparator)"
        - "isAccessible()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:740"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:731,1"
      Dst: "[java.util.TreeMap].<init>(java.util.Comparator)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:734,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:735,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:737,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:741,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:743,1"
      Dst: "[com.esotericsoftware.kryo.KryoException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeMap)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.TreeMap"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.TreeMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.TreeMap].comparator()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createTreeMap(java.lang.Class,java.util.Comparator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:727,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:727,1"
      Dst: "[java.util.TreeMap].comparator()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:727,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createTreeMap(java.lang.Class,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.Map"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeMap)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:717,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.TreeMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Map)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeMap)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer:717,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$TreeMapSerializer].writeHeader(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.TreeMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Character)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Character"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Character].charValue()"
    - "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:106,1"
      Dst: "[java.lang.Character].charValue()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:106,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeChar(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionDepth: 4
    returnType: "java.lang.Character"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readChar()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readChar()"
    - "[com.esotericsoftware.kryo.io.Input].readChar()"
    - "[java.lang.Character].valueOf(char)"
    functionUses: 13
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:110,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readChar()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:110,1"
      Dst: "[java.lang.Character].valueOf(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Character)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer:104,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Character)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:615,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].get(int)"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:617,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:617,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionDepth: 7
    returnType: "java.util.List"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 13
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:621,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:621,1"
      Dst: "[java.util.Collections].singletonList(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].get(int)"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:625,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:625,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:625,1"
      Dst: "[java.util.Collections].singletonList(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:615,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.List)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer:615,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$CollectionsSingletonListSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>(int)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:44,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>(int,float)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:51,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(int,float)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].<init>(com.esotericsoftware.kryo.util.IdentityObjectIntMap)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:56,1"
      Dst: "[com.esotericsoftware.kryo.util.ObjectIntMap].<init>(com.esotericsoftware.kryo.util.ObjectIntMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].locateKey(java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    functionUses: 2
    ICount: 19
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:73"
        BranchSideFuncs:
        - "place(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:72"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:76"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:77"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:76"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:77"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:72"
        BranchSideFuncs:
        - "place(java.lang.Object)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:72,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:74,1"
      Dst: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].place(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.util.IdentityObjectIntMap].hashCode()"
    functionSourceFile: "com.esotericsoftware.kryo.util.IdentityObjectIntMap"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    functionUses: 10
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:85"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:89"
        BranchSideFuncs:
        - "identityHashCode(java.lang.Object)"
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:88"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:87"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.IdentityObjectIntMap:87,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].write(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getByte(java.lang.Object,int)"
    - "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:124,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getByte(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:124,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeByte(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].read(com.esotericsoftware.kryo.io.Input,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField"
    linkageType: ""
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.Input].readByte()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readByte()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readByte()"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setByte(java.lang.Object,int,byte)"
    functionUses: 4
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:128,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readByte()"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:128,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setByte(java.lang.Object,int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField].copy(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.reflectasm.FieldAccess].getByte(java.lang.Object,int)"
    - "[com.esotericsoftware.reflectasm.FieldAccess].setByte(java.lang.Object,int,byte)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:132,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].getByte(java.lang.Object,int)"
    - Src: "com.esotericsoftware.kryo.serializers.AsmField$ByteAsmField:132,1"
      Dst: "[com.esotericsoftware.reflectasm.FieldAccess].setByte(java.lang.Object,int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers:74,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:254,1"
      Dst: "[com.esotericsoftware.kryo.serializers.FieldSerializer$FieldSerializerConfig].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].setReadUnknownTagData(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].getReadUnknownTagData()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].setChunkedEncoding(boolean)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:287"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:288"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:287"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:287,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:287,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].getChunkedEncoding()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].setChunkSize(int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:297"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:298"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:297"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:297,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig:297,1"
      Dst: "[com.esotericsoftware.minlog.Log].trace(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig].getChunkSize()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.TaggedFieldSerializer$TaggedFieldSerializerConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    - "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:47,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].setAcceptsNull(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Optional)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Optional"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Optional].isPresent()"
    - "[java.util.Optional].get()"
    - "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:51"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:51"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:51,1"
      Dst: "[java.util.Optional].isPresent()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:51,1"
      Dst: "[java.util.Optional].get()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:52,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].writeClassAndObject(com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 7
    returnType: "java.util.Optional"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Optional].ofNullable(java.lang.Object)"
    - "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    functionUses: 13
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:56,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].readClassAndObject(com.esotericsoftware.kryo.io.Input)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:56,1"
      Dst: "[java.util.Optional].ofNullable(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Optional)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "java.util.Optional"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Optional"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Optional].isPresent()"
    - "[java.util.Optional].get()"
    - "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - "[java.util.Optional].of(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:60"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:63"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:60,1"
      Dst: "[java.util.Optional].isPresent()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:61,1"
      Dst: "[java.util.Optional].get()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:61,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].copy(java.lang.Object)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:61,1"
      Dst: "[java.util.Optional].of(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Optional)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Optional)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Optional)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer:45,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Optional)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].create(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class,int)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 4
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:61,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].size()"
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:66,1"
      Dst: "[java.util.List].size()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:66,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - "[java.util.List].of(java.lang.Object[])"
    - "[java.util.AbstractCollection:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:sun.awt.util.IdentityArrayList].toArray()"
    - "[java.util.List].toArray()"
    functionUses: 13
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:72"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:75"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:74"
        BranchSideFuncs:
        - "of(java.lang.Object[])"
        - "toArray()"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:71,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:75,1"
      Dst: "[java.util.List].toArray()"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:75,1"
      Dst: "[java.util.List].of(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - "[java.util.List].copyOf(java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:80,1"
      Dst: "[com.esotericsoftware.kryo.serializers.CollectionSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:81,1"
      Dst: "[java.util.List].copyOf(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.Collection)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Collection"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].createCopy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer:53,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableCollectionsSerializers$JdkImmutableListSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.util.ObjectIntMap$Entry].toString()"
    functionSourceFile: "com.esotericsoftware.kryo.util.ObjectIntMap$Entry"
    linkageType: ""
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.util.ObjectIntMap$Entry:395,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.Serializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:367,1"
      Dst: "[com.esotericsoftware.kryo.Serializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].create(com.esotericsoftware.kryo.Kryo,java.lang.Class,long)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionDepth: 0
    returnType: "java.util.Date"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Class"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Date].<init>(long)"
    - "[java.sql.Timestamp].<init>(long)"
    - "[java.sql.Date].<init>(long)"
    - "[java.sql.Time].<init>(long)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Long].valueOf(long)"
    - "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - "[java.sql.Timestamp].setTime(long)"
    - "[java.util.Date].setTime(long)"
    - "[java.sql.Time].setTime(long)"
    - "[java.sql.Date].setTime(long)"
    functionUses: 1
    ICount: 41
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:369"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:370"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:369"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:369"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:372"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:371"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:372"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:375"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:374"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:375"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:378"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:377"
        BranchSideFuncs: []
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:378"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:385"
        BranchSideFuncs:
        - "<init>(long)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:384"
        BranchSideFuncs:
        - "getConstructor(java.lang.Class[])"
        - "isAccessible()"
    - Branch String: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:386"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:392"
        BranchSideFuncs:
        - "newInstance(java.lang.Class)"
        - "setAccessible(boolean)"
        - "<init>(long)"
        - "getConstructor(java.lang.Class[])"
        - "newInstance(java.lang.Object[])"
        - "valueOf(long)"
        - "isAccessible()"
        - "setTime(long)"
      - BranchSide: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:391"
        BranchSideFuncs:
        - "newInstance(java.lang.Object[])"
        - "valueOf(long)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:370,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:373,1"
      Dst: "[java.sql.Timestamp].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:376,1"
      Dst: "[java.sql.Date].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:379,1"
      Dst: "[java.sql.Time].<init>(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:385,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:386,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:388,1"
      Dst: "[java.lang.reflect.Constructor].setAccessible(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:392,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:392,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:395,1"
      Dst: "[com.esotericsoftware.kryo.Kryo].newInstance(java.lang.Class)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:396,1"
      Dst: "[java.util.Date].setTime(long)"
    JavaMethodInfo:
      exceptions:
      - "com.esotericsoftware.kryo.KryoException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Date)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.Date"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Date].getTime()"
    - "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:402,1"
      Dst: "[java.util.Date].getTime()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:402,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeVarLong(long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionDepth: 5
    returnType: "java.util.Date"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].create(com.esotericsoftware.kryo.Kryo,java.lang.Class,long)"
    - "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readVarLong(boolean)"
    functionUses: 13
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:406,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readVarLong(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:406,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].create(com.esotericsoftware.kryo.Kryo,java.lang.Class,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Date)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.util.Date"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Date].getTime()"
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].create(com.esotericsoftware.kryo.Kryo,java.lang.Class,long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:410,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:410,1"
      Dst: "[java.util.Date].getTime()"
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:410,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].create(com.esotericsoftware.kryo.Kryo,java.lang.Class,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].copy(com.esotericsoftware.kryo.Kryo,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Date)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:367,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].copy(com.esotericsoftware.kryo.Kryo,java.util.Date)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Date)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer:367,1"
      Dst: "[com.esotericsoftware.kryo.serializers.DefaultSerializers$DateSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.Date)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].<init>()"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:67,1"
      Dst: "[com.esotericsoftware.kryo.serializers.ImmutableSerializer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalInt)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.util.OptionalInt"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.OptionalInt].isPresent()"
    - "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - "[java.util.OptionalInt].getAsInt()"
    - "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:70"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:71"
        BranchSideFuncs: []
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:69,1"
      Dst: "[java.util.OptionalInt].isPresent()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:69,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeBoolean(boolean)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:70,1"
      Dst: "[java.util.OptionalInt].getAsInt()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:70,1"
      Dst: "[com.esotericsoftware.kryo.io.Output].writeInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].read(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Input,java.lang.Class)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionDepth: 4
    returnType: "java.util.OptionalInt"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Input"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readBoolean()"
    - "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readBoolean()"
    - "[java.util.OptionalInt].empty()"
    - "[java.util.OptionalInt].of(int)"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeByteBufferInput].readInt()"
    - "[com.esotericsoftware.kryo.unsafe.UnsafeInput].readInt()"
    - "[com.esotericsoftware.kryo.io.Input].readInt()"
    - "[com.esotericsoftware.kryo.io.ByteBufferInput].readInt()"
    functionUses: 13
    ICount: 11
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:75"
      Branch Sides:
      - BranchSide: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:73"
        BranchSideFuncs:
        - "readInt()"
        - "empty()"
        - "readBoolean()"
        - "of(int)"
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:74,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readBoolean()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:75,1"
      Dst: "[com.esotericsoftware.kryo.io.Input].readInt()"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:75,1"
      Dst: "[java.util.OptionalInt].of(int)"
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:75,1"
      Dst: "[java.util.OptionalInt].empty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.lang.Object)"
    functionSourceFile: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.esotericsoftware.kryo.Kryo"
    - "com.esotericsoftware.kryo.io.Output"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalInt)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer:67,1"
      Dst: "[com.esotericsoftware.kryo.serializers.OptionalSerializers$OptionalIntSerializer].write(com.esotericsoftware.kryo.Kryo,com.esotericsoftware.kryo.io.Output,java.util.OptionalInt)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[java.lang.Runtime].exec(java.lang.String)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.util.List)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.lang.String[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].inheritIO()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream(boolean)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start(java.lang.ProcessBuilder$Redirect[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1084
    functionLinenumberEnd: 1129
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].<init>()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[])"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[],int,int)"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].console()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "java.io.Console"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getSecurityManager()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionDepth: 0
    returnType: "java.lang.SecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperties()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1010
    functionLinenumberEnd: 1017
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].runFinalization()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1812
    functionLinenumberEnd: 1815
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].load(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1853
    functionLinenumberEnd: 1856
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].loadLibrary(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1889
    functionLinenumberEnd: 1892
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].mapLibraryName(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[])"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[],int,int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Executor].execute(java.lang.Runnable)"
    functionSourceFile: "java.util.concurrent.Executor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,int)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.io.File,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.net.URI)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 413
    functionLinenumberEnd: 441
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createNewFile()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1029
    functionLinenumberEnd: 1036
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].delete()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1056
    functionLinenumberEnd: 1065
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].deleteOnExit()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1094
    functionLinenumberEnd: 1104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].renameTo(java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1436
    functionLinenumberEnd: 1449
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2102
    functionLinenumberEnd: 2133
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2174
    functionLinenumberEnd: 2176
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.Reader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Reader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read(char[],int,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine(boolean)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 375
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[],int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println()"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 764
    functionLinenumberEnd: 770
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.util.Locale,java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 3
    argTypes:
    - "java.util.Locale"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createFile(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectory(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 742
    functionLinenumberEnd: 786
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.nio.file.Path,java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 867
    functionLinenumberEnd: 869
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.nio.file.Path,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createLink(java.nio.file.Path,java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].delete(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1141
    functionLinenumberEnd: 1144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].deleteIfExists(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1180
    functionLinenumberEnd: 1182
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].move(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1418
    functionLinenumberEnd: 1428
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.CopyOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,byte[],java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3422
    functionLinenumberEnd: 3435
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "byte[]"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.charset.Charset,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3487
    functionLinenumberEnd: 3498
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.charset.Charset"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3540
    functionLinenumberEnd: 3542
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].find(java.nio.file.Path,int,java.util.function.BiPredicate,java.nio.file.FileVisitOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3941
    functionLinenumberEnd: 3953
    functionDepth: 0
    returnType: "java.util.stream.Stream"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "int"
    - "java.util.function.BiPredicate"
    - "java.nio.file.FileVisitOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(char[],int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.net.URI)"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Callable].call()"
    functionSourceFile: "java.util.concurrent.Callable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
